当前位置:  开发笔记 > 编程语言 > 正文

为什么开发人员讨厌iframe?

如何解决《为什么开发人员讨厌iframe?》经验,为你挑选了6个好方法。

iframe可能有类似框架和不小心使用的问题XMLHttpRequest:它们打破了每个URL的一个文档范例,这对于网络的正常运行至关重要(想想书签,深层链接,搜索引擎......).

如果您正在创建Web应用程序,请使用您想要的任何技术(包括框架,闪存,小程序,等等).如果您正在创建一个实际的信息性网页,请坚持使用无框架HTML,CSS和不引人注目的JavaScripts,并记住该页面仍然可以在禁用脚本的情况下使用.



1> Christoph..:

iframe可能有类似框架和不小心使用的问题XMLHttpRequest:它们打破了每个URL的一个文档范例,这对于网络的正常运行至关重要(想想书签,深层链接,搜索引擎......).

如果您正在创建Web应用程序,请使用您想要的任何技术(包括框架,闪存,小程序,等等).如果您正在创建一个实际的信息性网页,请坚持使用无框架HTML,CSS和不引人注目的JavaScripts,并记住该页面仍然可以在禁用脚本的情况下使用.


也许我在这里稍稍跳了一下枪,但我认为现在要求你的用户使用JS是可以的.用户是否愿意错过Google地图?可能有静态版本,但能够用鼠标平移和缩放确实定义了GMaps exp.
这不依赖于你究竟是什么样的'iframe'吗?在iframe中包含整个页面的副作用与包含"小部件"或导航元素时产生的副作用完全不同.
当你构建一些当前页面CSS样式不能改变的东西时,iframe是必须的.
@allyourcode:如果你看一下NoScript FF插件的流行程度,并根据我自己的浏览行为判断(默认情况下禁用js + flash),让你的网站在没有脚本的情况下可用是不合理的; 你无论如何都要为搜索引擎占用...
^典型的MS Developer ..从不关心并试图了解设计标准:D
我同意这一点.RIA将成为JavaScript重量级人物.传统意义上的网页应该关闭JS.

2> Emil H..:

正如诺斯雷德娜所说,这可能是因为人们将它们与框架混淆,实际上有很多有效的反对框架的论据.其中一些不适用于iframe,但其中一些也是如此.

最引人注目的问题可能是深度链接问题:iframe确实受到这种影响的程度低于帧,但如果你允许用户在iframe中的不同页面之间导航,那将是一个问题.还有一些可用性问题需要注意.最常见的考试是双滚动条,我个人觉得非常讨厌.

我倾向于避免使用iframe,主要是因为我觉得它是一个不优雅的解决方案.我发现当我真正坐下来思考它时,几乎总有一个更好的解决方案.尽管如此,我也相信他们有一席之地.这是网络世界的转向:仅仅因为它有被滥用的历史,它已成为不应该被使用的共识.事实并非如此,但我相信你在使用iframe之前应该三思而后行.



3> marcc..:

我想补充说,大多数时候,iframe也没有帮助SEO页面.Googlebot不会在页面上放置iframe的内容.



4> Philippe Ley..:

有一种情况是(几乎)需要iframe:当iframe的内容位于不同的域中时,您必须执行身份验证或检查绑定到该域的cookie.它实际上防止了安全问题,而不是创建它们.

例如,如果您正在编写一种可以在任何网站上使用的插件,但插件必须在另一个域上进行身份验证,则可以创建一个在外部域上运行和验证的无缝iframe.



5> Nosredna..:

我认为人们会将iframe与HTML框架混淆,并且框架被普遍鄙视.

人们一直使用iframe,甚至没有意识到.如果我没记错的话,TinyMCE使用iFrames.



6> ars..:

一个原因是安全性 - iframe注入攻击很常见.有关说明,请参阅此Ars Technica页面:

http://arstechnica.com/security/news/2008/03/ongoing-iframe-attack-proving-difficult-to-kill.ars

另一个页面总结了一些漏洞(我不知道其中有多少对当前的浏览器有效,但文章不是那么老):

http://www.thespanner.co.uk/2007/10/24/iframes-security-summary/

另一方面,它们支持跨域通信,并且通常被"ajaxy"webapps使用:

http://softwareas.com/cross-domain-communication-with-iframes

推荐阅读
手机用户2502851955
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有