繁体   English   中英

在asp.net页面中加载iframe

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM