我正在开发一个系统,我将在嵌入式应用程序的浏览器中显示内容。不能使用普通的浏览器导航控件,而是在页面的包装器中运行 javascript。内容将来自同一个域,但我无法预处理内容。需要兼容 IE8+ 和最新的 FF 和 chrome。
javascript需要做的事情是..
- 加载新内容
- 检测内容何时完全加载
- 将焦点设置为元素
- 检测当前有焦点的链接
- 检索页面上的链接列表
- 触发链接
将内容 html 页面放置在包装页面中的最佳方式是什么?例如
- 框架
- 框架
- div
我正在开发一个系统,我将在嵌入式应用程序的浏览器中显示内容。不能使用普通的浏览器导航控件,而是在页面的包装器中运行 javascript。内容将来自同一个域,但我无法预处理内容。需要兼容 IE8+ 和最新的 FF 和 chrome。
javascript需要做的事情是..
将内容 html 页面放置在包装页面中的最佳方式是什么?例如
iframe 和 div 都可以工作。最终的选择将取决于您的实施细节,也是个人品味的问题。
使用 div,html 成为包装页面的一部分。风险在于插入的内容与页面的其余部分(例如 css、html id)之间存在冲突。
iframe 创建沙箱并避免冲突。缺点是布局不容易调整,因为内容存在于自己的文档中。html5 引入了新的 iframe 属性,例如“无缝”,但它们在 IE8 中不起作用。
如上所述,Iframe 可能是最好的;但是它们已被弃用,并且并不总是能提供最佳结果。另一种方法是为内容设置一个 div,然后将内容 Ajax 放入框架中。然后,您可以通过 dom 访问它以获取链接等。
为了决定哪个是最好的,我会考虑正在加载哪些内容 - 如果没有 I 框架,完整的 HTML 文档(带有 doctype、head、元数据等)将是有问题的。如果加载的内容只是纯文本,可能带有一些基本的 HTML 元素,我会将其 ajax 放入 div