在此过程中,我发现使用iframe是一种“糟糕的做法”。
这是真的吗?使用它们的利与弊是什么?
在此过程中,我发现使用iframe是一种“糟糕的做法”。
这是真的吗?使用它们的利与弊是什么?
当前回答
我曾看到IFRAMEs作为一种制作动态上下文菜单的简单方法被成功地应用,但该web应用的目标受众只是ie用户。
我想说这完全取决于你的要求。如果您希望确保页面在每种浏览器上都能正常运行,请避免使用IFRAMEs。如果你的目标是一个狭窄的和知名的观众(例如。在本地内部网),并且您看到了使用IFRAMEs的好处,那么我会说这样做是可以的。
其他回答
当您的主页以HTTP协议加载,而页面的某些部分需要以HTTPS协议工作时,iFrame可以轻松击败jsonp。
特别是,如果你的数据类型不是原生的json,需要在服务器上翻译成json,并在客户端翻译回复杂的html。
所以iFrame并不是邪恶的。
不了解它们的缺点就使用它们是“不好的做法”。Adzm的帖子总结得很好。
另一方面,gmail在后台大量使用iFrames来实现一些更酷的功能(比如自动上传文件)。如果你意识到iframe的局限性,我相信你不应该对使用它们感到内疚。
值得注意的是,无论用户的互联网连接速度或iframe的内容如何,iframe都会导致页面下载速度出现轻微(0.3秒左右)但明显的放缓。这是您在本地测试时不会看到的。实际上,添加到页面中的任何元素都是如此,但iframes似乎更糟糕。
它们并不坏,但实际上很有帮助。我有一个巨大的问题前一段时间,我必须嵌入我的推特饲料,它只是不让md做在同一页上,所以我把它设置在不同的页面,并把它作为一个iframe。
它们还很好,因为所有浏览器(包括手机浏览器)都支持它们。只要你正确地使用它们,它们不能被认为是一种坏习惯。
从可用性的角度来看,最初的框架集模型(框架集和框架元素)非常糟糕。IFrame是后来的发明,它不像最初的框架集模型那样有那么多问题,但它确实有它的缺点。
如果您允许用户在IFrame内部导航,那么链接和书签将不能正常工作(因为您收藏了外部页面的URL,而不是IFrame的URL)。