代码之家  ›  专栏  ›  技术社区  ›  Anurag Uniyal

选项卡式HTML应用程序

  •  1
  • Anurag Uniyal  · 技术社区  · 15 年前

    我正在编写一个复杂的基于选项卡的Web应用程序,在这个应用程序中,每个选项卡都是不相关的,没有交互作用。为了便于开发,我希望每个标签都是一个单独的HTML页面,可以单独查看,在以后的阶段,我可以通过标签组装它们,也可以是菜单或树。 所以问题是:

    1. 我计划使用iframes,所有主要浏览器都支持吗?
    2. iframe是否将被弃用,那么有哪些替代方法,例如,所有主要浏览器都支持object标记?
    3. 我可以用更好的策略来代替iframe/object吗?

    但我喜欢iframes的地方是它可以完全模块化,所以每个页面都不了解其他页面。

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

    5 回复  |  直到 7 年前
        1
  •  2
  •   Calvin    15 年前
    1. 是的,所有主要的桌面浏览器都支持iframes。许多移动浏览器也一样,包括IEMobile、Opera Mobile和iPhone上的Safari。我知道的唯一的主要浏览器 支持iframes的是黑莓浏览器。

    2. 大多数浏览器都支持对象标记,但不同浏览器之间的实现非常不一致。

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

      任何类型的框架都会破坏人们所熟悉的浏览器行为,比如前进和后退导航按钮。它们完全禁止使用书签。当建立一个网站时,你应该尽量不要限制或向访问者口述他们是如何被允许浏览你的网站的。如果用户想打开一个链接一个新的标签,他们不应该离开没有导航菜单。如果它们使浏览器窗口具有特定的大小,则页面内容应填充该区域,而不是由iframe的维度指定的预定区域。

      框架本质上是用户不友好的,毫无疑问,这会使他们的搜索引擎不友好;这也是为什么很少有专业网站使用框架/iframes的原因。如今,廉价的宽带已经足够普及,重新加载额外的几千字节的导航数据对整体用户体验没有任何影响。

        2
  •  1
  •   eKek0    15 年前

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

        3
  •  0
  •   roman m    15 年前

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

    我会用 ASP.NET 和CustomUserControl一样,它们都是真正独立的选项卡,您可以在应用程序的任何地方重用它们。

        4
  •  0
  •   Dmitris    15 年前

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

        5
  •  0
  •   Toby Mills    15 年前

    要回答前两个问题:

    1. 所有最新的Web浏览器都支持iframe,但是我不确定移动浏览器。Opera Mobile是的,现在不谈iPhone了。

    2. HTML的下一个主要迭代由 WHATWG 支持iframe。它还支持 xhtml

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