0

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

javascript需要做的事情是..

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

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

  • 框架
  • 框架
  • div
4

2 回答 2

1

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

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

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

于 2013-08-24T19:09:15.077 回答
0

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

为了决定哪个是最好的,我会考虑正在加载哪些内容 - 如果没有 I 框架,完整的 HTML 文档(带有 doctype、head、元数据等)将是有问题的。如果加载的内容只是纯文本,可能带有一些基本的 HTML 元素,我会将其 ajax 放入 div

于 2013-08-24T18:39:49.320 回答