[英]loading iframes in a asp.net page
我有一个asp.net页面,它继承了我加载javascripts的母版页的感觉。我想将iframe与指向html(包含javascript链接)的页面放在一起。我的Java脚本可以正常工作吗?
只要您了解它们的执行上下文,由<iframe>
的页面导入的Javascript文件就可以正常工作。 <iframe>
通过其自己的DOM提供了与父页面不同的页面上下文。 如果页面来自同一域,则<iframe>
DOM链接到父DOM,而父DOM链接到<iframe>
。
这意味着在<iframe>
,如果您的代码假定它在自己的窗口中,则可能会正常工作(或存在任何错误:-)。但是,它将无法使用诸如document.getElementById("foo")
东西document.getElementById("foo")
在父页面中查找元素。 要跨越页面边界,代码将必须显式使用window.parent
链接到达包含页面。
我想我想说的是,您必须了解<iframe>
不同于父页面的“导入”或“ #include”功能。 这是创建完整的“子页面”的一种方式。
是的,JavaScript可以在iframe中运行。 但是,请注意,您正在使用不同的文档/窗口对象,并且窗口对象也不同,因此,要从iframe到父对象进行通信,您必须使用window.parent来获取父窗口的window对象。
您正在使用不同的上下文。 如果您忽略window.parent,则可以将在iframe中运行的JavaScript代码视为独立运行的javascript代码。
似乎是罗word的答案,我真的无法更好地解释。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.