我什么时候应该使用HTML框架?

时间:2010-09-15 21:24:31

标签: html iframe frames

我听到了无数原因,为什么不使用HTML框架,因为它们缺乏可访问性,普遍缺乏用户体验,它们完全没有效率/不可维护,或者它们只是过时了。

这一切都让我有两个问题:

  1. 这种仇恨的普遍共识是否也适用于iframe?
  2. 在什么情况下可以在代码中使用框架/ iframe?

4 个答案:

答案 0 :(得分:13)

(1)不是天生的。 iframe有许多不受框架问题影响的用例。只要您希望混合来自其他安全上下文的文档,或者没有父页面使用的脚本和样式,它们就非常有用。

然而, 可能'使用像框架一样的iframe':将页面拆分为单独的iframe区域,跨框架链接导致无法播放的导航混乱书签,开放新标签等。

(2)今天我不会使用任何框架。他们保留大量页面内容的用例有限,您不希望在每个导航上重新加载。但是现在我们只使用XMLHttpRequest来更新页面的一部分。

即便如此,也没有注意使页面更改链接可访问(使用哈希历史记录并为每个哈希链接具有静态链接模拟,与真实<a>链接,以响应中间点击等al),使用XMLHttpRequest更新/导航自身的页面将重新创建许多帧的导航问题,具有强烈的负面可用性,可访问性和SEO影响。

我觉得有点可悲的是,许多作者正在制作华而不实的“现代”动画网站,这些网站天真地使用jQuery的load()或类似的东西,表现出古老的所有最糟糕的行为,讨厌帧。

答案 1 :(得分:4)

(1)否。目前有iframe的合法用途,今天没有理由在现代浏览器中使用框架。

(2)不要使用框架;还有其他更简单的解决方案可以产生相同的效果。

仅在嵌入整个网站时才使用iframe是最合理的选项。虽然很少见,但有时这是有道理的。

简而言之,框架/框架集/ noframe标签是从HTML5中取出的原因,但iframe将会延续。

(示例)如果站点A必须包含来自站点B的页面(代理似乎来自站点A),那么站点B css和javascript可以并且通常将完全软管站点A.这是合理的原因。< / p>

答案 2 :(得分:1)

如果由于某种原因你有“嵌套表格”。

假设您有一个产品编辑表单,并且在此表单中您有一个带有其他表单的区域,可以说允许您输入客户列表以发送此产品的简报。

客户根本不与产品相关,并且与产品没有数据库关系。它们与产品完全不同。

在这种情况下,我会在客户添加表单的情况下创建一个IFrame,并提交在IFrame中提交表单的按钮。

我没有找到比使用IFrame更好的方法来实现所描述的场景。 是的,我要求在同一页面上放置两个表格,并且新闻稿表格应放在产品编辑表格中。业务需求由老板决定。

答案 3 :(得分:1)

您可以使用iframe访问您网站中第三方的广告,而无需向包含iframe的父文档提供任何其他控制或消息。

通过这种方式,您可以访问网站中的广告,同时防止来自未知资源的攻击

The mozilla dev pages explains it better

  

HTML元素表示嵌套的浏览上下文,有效地将另一个HTML页面嵌入到当前页面中。