有什么理由不为所有使用iframe的? 目前,我用它来从不同的服务器(一个注册网页 - 分布式应用程序的一部分)加载一个页面来提供无缝体验。 ,使用IFrame认为是不好的做法或者是它的使用可以吗?
Answer 1:
IFrame,这是一个伟大的工具。 它拥有近乎普遍的浏览器支持,可以很容易地实现,并具有许多有用的功能。 与任何其他HTML元素,它可能会被滥用,但挥起智能它能起到固体UI的一部分。
一些开发商可能认为使用AJAX来代替,并在某些情况下,可能是更合适的方法,但AJAX是不是万能的和iframe中可能是一个更简单的实现具有相同的最终结果,为您的用户。 做什么是简单的第一个,也是唯一改变的时候,你可以验证如何和为什么不工作。
Answer 2:
继续使用的I帧。 这就是为什么一个例子:
整个VISA验证的事情真的让我很烦。 我愉快地购物,在一些网站,我相信,当我重定向到一些网站,我从来没有听说过( 不 visa.com),我必须填写一些其他形式,并希望我得到正确重定向回购物网站。
然后最近我在逛街的约翰·刘易斯的网站,他们在iframe长大的VISA验证页面-精彩! 我还在寻找在约翰刘易斯网站,以及所有发生的事情是,我正在问我的VISA验证密码 - 没问题。
虽然作为一个Web开发人员,我知道有这么一个和普通的旧重定向消息有重定向回之间没有差异的技术,用户体验是如此美好!
Answer 3:
优点:
- 缓慢的第三方内容,如徽章和广告帮助
- 安全沙箱
- 并行下载脚本
缺点:
- 即使空白血本
- 块页的onload
- 非语义
来源: 加快您的网站的最佳实践
Answer 4:
内部框架可以访问父文档,例如重定向父帧使用新的位置的某些特性parent.location.href
或parent.window.location
( IE允许限制)。
这是伟大的嵌入来自其他服务器的内容时(即使你相信它的服务器可能会受到影响),网络钓鱼攻击。
I帧,也可用于其他各种攻击: 的IFrame安全性总结 。
Answer 5:
随着HTML 5,你就可以使用跨文档的消息传递API从窗口发送消息窗口,但目前的iFrame是最可行的替代任何一种AJAX的需要造型和脚本与数据加载。
如果你正在寻找只使用文本数据iFrame中,使用AJAX来代替。 如果你想外部CSS或JavaScript在受保护的环境中工作,希望造型从头开始,还是需要访问跨域的文件,使用的iFrame。
缺点是I帧的可访问性一般很烂,虽然可以防止这种通过确保您继续内嵌框架与针对屏幕外部内容的通知。 此外,还要检查其他办法,使更多的iFrame访问的HTML规范。 脚本明智除此之外,和明显的局限性,IFrame,这是一个伟大的工具是负责任的和稀少使用。
最后一点,打桩一整页的I帧绝对不是一个好主意,因为记住,每个加载的iFrame,创建一个DOM,HTML请求是由和文档包装器实例化,在这个过程中吃内存和带宽。 请iframe的页面上最小,你会避免misuing在HTML aresenal的有力工具。
Answer 6:
iFrame是一种伟大的方式“包括”网页中的外部内容。 然而,有一对夫妇的(小)的缺点:
- 安全沙箱会造成的JavaScript的问题,如果该IFrame不从同一个域。
- 你不能得到iframe和父页面之间的CSS商合作,除非你能掌控自己的样式表。
- 从一个角度分度来看,IFrame的内容不存在。
- 屏幕阅读器可能不喜欢的IFRAME,出于同样的原因。 或者,他们将无法正常显示的IFrame的内容相对意义。
除此之外,他们是伟大的! 我提到的几点,甚至可以考虑的优势,如果你认为它(除了屏幕阅读器之一):原则上,一个IFrame不能影响它的父页面的布局,它不是由其父要么影响自己。
Answer 7:
一般来说,I帧是搜索引擎优化的原因,一个坏的经验。 所以,你问的是有没有理由不使用iframe的? 是的,如果你使用iframe的,你正在失去在搜索引擎中一些有机的位置。
当然,也有可用性问题的页面,其可以(也应该)王牌SEO的价值。