1

我正在编写一个复杂的基于选项卡的 Web 应用程序,其中每个选项卡在没有交互的意义上彼此无关。因此,为了便于开发,我希望每个选项卡都是一个单独的 html 页面,可以单独查看,在后期我可以通过选项卡组装它们,或者可能是菜单或树,所以问题是:

  1. 我打算使用 iframe,是否所有主流浏览器都支持它们?
  2. iframe 是否会被弃用,那么有什么替代方案,例如所有主要浏览器都支持对象标签吗?
  3. 也许我可以使用一些更好的策略而不是 iframe/object?

但我喜欢 iframe 的地方在于它可以完全模块化,因此每个页面都不知道其他页面。

注意:我选择了解释得很好的答案,但我仍然不确定为什么 iframe 问题iframe 与 ajax不能回答这个问题。

4

5 回答 5

2
  1. 是的,所有主要的桌面浏览器都支持 iframe。许多移动浏览器也是如此,包括 iPhone 上的 IEMobile、Opera Mobile 和 Safari。我所知道的唯一支持 iframe 的主要浏览器是黑莓浏览器。

  2. 大多数浏览器都支持对象标签,但在各种浏览器中的实现极为不一致。

  3. 仅仅拥有一个带有普通导航菜单的平面页面有什么问题?如果您一次只显示一个页面,并且唯一放置在 iframe 之外的界面元素是选项卡菜单,那么为什么不将选项卡集成到页面布局中并取消框架呢?

    任何类型的框架都会破坏人们熟悉的浏览器行为——比如前进和后退导航按钮。他们完全禁止使用书签。在构建网站时,您应该尽量不要限制或指示访问者如何允许他们浏览您的网站。如果用户想打开一个新选项卡的链接,他们不应该没有导航菜单。如果他们将浏览器窗口设置为特定大小,则页面内容应填充该区域,而不是 iframe 尺寸指定的预定区域。

    Frames are inherently user-unfriendly, which, unsurprisingly, makes them search-engine-unfriendly; which is why so few professional websites use frames/iframes. Cheap broadband is widespread enough these days that reloading a few extra kilobytes of navigational data makes no difference to the overall user experience.

于 2009-04-15T06:03:02.883 回答
1

如果我是你,我会使用jQuery UI Tabs而不是我自己的解决方案。

于 2009-04-15T04:03:23.983 回答
0

看起来您的网站不是静态的,所以我不明白您为什么要使用纯 HTML 来做。

我会使用ASP.NET和 CustomUserControl 作为您的每个选项卡,它们的所有选项卡都是真正独立的,您可以在应用程序的任何地方重用它们

于 2009-04-15T03:59:40.497 回答
0

对于每个选项卡中的单独页面,您也可以使用服务器包含。

于 2009-04-15T04:05:52.107 回答
0

要回答您的前 2 个问题:

  1. 所有最新的网络浏览器都支持 iframe,但我不确定移动浏览器。Opera mobile 是的,现在不要谈论 iPhone。

  2. html 的下一个主要迭代由WHATWG领导,并且将支持 iFrame。xhtml也支持

至于不同的方法,这在很大程度上取决于您将使用选项卡做什么。如果每个选项卡上都有很多信息或需要一段时间才能加载,那么单独的 iFrame 可能是最好的。此外,如果您打算将代码作为独立页面重用,那么 iFrame 也是一个不错的选择。

于 2009-04-15T05:02:27.867 回答