我通过使用 position: fixed
创建一个 div 在我的 HTML5 页面上模拟模式窗口功能, 以浏览器窗口为中心等。在某些情况下,我的模态窗口只显示一 strip 有一个或多个按钮的消息,例如 OK
Cancel
,但在其他情况下,我会展示更复杂的形式,例如一个即时消息对话框。
问题是针对更复杂的情况。那么哪个更好,(1) 有一个 <iframe>
在我的“模式”窗口或 (2) <div>
加上一些检索表单内容并将其注入(inject) div 的 innerHTML 的 Ajax 代码?
这两种情况都有哪些注意事项?当您选择一个而不是另一个时,您的理由是什么?
浏览器要求:IE9+ 和其他正常的浏览器。
最佳答案
如果您确实需要 iframe
,您应该只使用 iframe
。使用 iframe 的原因是:
- 从另一个域加载内容的最简单方法。
- 隔离来自单独域的内容的安全上下文。
- 在您的网页中嵌入完全独立的网页(独立的脚本、独立的样式表等...)。
- 您不想编写 ajax 代码来动态加载内容,而只想使用 iframe 的内置
.src
功能。
如果您不需要 iframe 的任何这些功能,那么通常更容易使用 div(它会根据其内容自动调整大小 - 而 iframe 不会)并将所需内容放入该 div .
两者都可以工作。
关于javascript - 模态对话框的 iframe 与 innerHTML - 哪个更好?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12553879/