javascript - 模态对话框的 iframe 与 innerHTML - 哪个更好?

标签 javascript html iframe innerhtml

我通过使用 position: fixed 创建一个 div 在我的 HTML5 页面上模拟模式窗口功能, 以浏览器窗口为中心等。在某些情况下,我的模态窗口只显示一 strip 有一个或多个按钮的消息,例如 OK Cancel ,但在其他情况下,我会展示更复杂的形式,例如一个即时消息对话框。

问题是针对更复杂的情况。那么哪个更好,(1) 有一个 <iframe>在我的“模式”窗口或 (2) <div>加上一些检索表单内容并将其注入(inject) div 的 innerHTML 的 Ajax 代码?

这两种情况都有哪些注意事项?当您选择一个而不是另一个时,您的理由是什么?

浏览器要求:IE9+ 和其他正常的浏览器。

最佳答案

如果您确实需要 iframe,您应该只使用 iframe。使用 iframe 的原因是:

  1. 从另一个域加载内容的最简单方法。
  2. 隔离来自单独域的内容的安全上下文。
  3. 在您的网页中嵌入完全独立的网页(独立的脚本、独立的样式表等...)。
  4. 您不想编写 ajax 代码来动态加载内容,而只想使用 iframe 的内置 .src 功能。

如果您不需要 iframe 的任何这些功能,那么通常更容易使用 div(它会根据其内容自动调整大小 - 而 iframe 不会)并将所需内容放入该 div .

两者都可以工作。

关于javascript - 模态对话框的 iframe 与 innerHTML - 哪个更好?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12553879/

相关文章:

javascript - 调试 Javascript 幻灯片

javascript - Cypress - 如何在 iframe 中的元素之间切换

javascript - 如何在不链接到播放列表的情况下播放两个 Youtube 视频?

Javascript iFrame 下拉悬停

php - 使用 json_encode 在 js 中访问 php 数组

jquery - 是否可以使用不同的 <div> 标签提供不同的背景图片?

javascript - 如何中止或停止JavaScript执行?

javascript - 使用 Javascript 使某些字段根据下拉值消失

javascript - 在向下滚动事件时更改 Logo 图像(并在向上滚动时再次将其更改回来)

javascript - 具有相同 id 和 jQuery 的 DOM 元素