如何根据这些要求构建HTML

时间:2013-08-24 17:24:21

标签: javascript html frame

我正在开发一个系统,我将在嵌入式应用程序的浏览器中显示内容。不能使用普通的浏览器导航控件,而是在页面的包装器中运行javascript。内容将来自同一个域,但我无法预处理内容。需要符合IE8 +以及最新的FF和Chrome。

javascript需要做的事情是......

  • 加载新内容
  • 检测内容何时已满载
  • 将焦点设置为元素
  • 检测当前具有焦点的链接
  • 检索页面上的链接列表
  • 触发链接

将内容html页面放在包装页面中的最佳方法是什么?例如

  • frames
  • iframe
  • DIV

2 个答案:

答案 0 :(得分:1)

iframe和div都可行。最终的选择将取决于您的实施细节,也是个人品味的问题。

使用div,html成为包装页面的一部分。风险是插入的内容与页面的其余部分之间存在冲突(例如,css,html id)。

iframe会创建一个沙箱并避免冲突。缺点是布局不容易调整,因为内容存在于自己的文档中。 html5引入了新的iframe属性,如“seamless”,但它们在IE8中不起作用。

答案 1 :(得分:0)

如上所述,iframe可能是最好的;但是他们已被弃用,并不总能给出最好的结果。另一种方法是为内容设置div,并将内容Ajax放入框架中。然后,您可以通过dom访问它以获取链接等。

要确定哪个最好,我会考虑加载什么内容 - 完整的HTML文档(包含doctype,head,元数据等)在没有I帧的情况下会出现问题。 如果加载的内容只是纯文本,也许有一些基本的HTML元素,我会把它变成一个div