Javascript iframe与innerHTML用于模式对话框-哪个更好?

Javascript iframe与innerHTML用于模式对话框-哪个更好?,javascript,html,iframe,innerhtml,Javascript,Html,Iframe,Innerhtml,我在我的HTML5页面上模拟模式窗口功能,创建一个div,位置:fixed,在浏览器窗口中居中等。在某些情况下,我的模式窗口仅显示一条消息,带有一个或多个按钮,如OK Cancel,但在其他情况下,我显示更复杂的表单,如即时消息对话框 问题在于更复杂的案件。那么,哪一个更好,1在我的模式窗口中有一个,还是2 a加上一些Ajax代码来检索表单的内容并将其注入div的innerHTML 在这两种情况下都有哪些注意事项?当你选择一个而不是另一个时,你的理由是什么 浏览器要求:IE9+和其他sane浏览

我在我的HTML5页面上模拟模式窗口功能,创建一个div,位置:fixed,在浏览器窗口中居中等。在某些情况下,我的模式窗口仅显示一条消息,带有一个或多个按钮,如OK Cancel,但在其他情况下,我显示更复杂的表单,如即时消息对话框

问题在于更复杂的案件。那么,哪一个更好,1在我的模式窗口中有一个,还是2 a加上一些Ajax代码来检索表单的内容并将其注入div的innerHTML

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

浏览器要求:IE9+和其他sane浏览器。

只有在实际需要iframe时才应使用iframe。使用iframe的原因有:

从另一个域加载内容的最简单方法。 将内容的安全上下文与单独的域隔离。 嵌入一个完全独立的网页独立的脚本,独立的样式表等。。。在您的网页中。 您不希望编写ajax代码来动态加载内容,而只希望使用iframe的内置.src功能。 如果您不需要iframe的任何这些功能,那么使用div通常会更容易,它会自动调整其内容的大小,而iframe不会,并将所需的内容放在该div中

任何一种都可以使用。

只有在实际需要iframe时,才应该使用iframe。使用iframe的原因有:

从另一个域加载内容的最简单方法。 将内容的安全上下文与单独的域隔离。 嵌入一个完全独立的网页独立的脚本,独立的样式表等。。。在您的网页中。 您不希望编写ajax代码来动态加载内容,而只希望使用iframe的内置.src功能。 如果您不需要iframe的任何这些功能,那么使用div通常会更容易,它会自动调整其内容的大小,而iframe不会,并将所需的内容放在该div中


两者都可以发挥作用。

两者都可以发挥作用,各有利弊。就我个人而言,我倾向于基于div的解决方案,因为div可以很好地自动调整大小,iFrame需要更多的工作。@Jeremy J Starcher自动调整大小是一个很好的观点,谢谢。此外,我还要提到样式表和外部脚本/库——iframe要求从iframe的页面中加载所有外部文件。就我个人而言,我倾向于基于div的解决方案,因为div可以很好地自动调整大小,iFrame需要更多的工作。@Jeremy J Starcher自动调整大小是一个很好的观点,谢谢。此外,我还要提到样式表和外部脚本/库——iframe要求从iframe的页面中加载所有外部文件。