如何运行子网页中的javascript脚本
现在在主页面中潜入了一个子页面(html),请问如何在主页面的事件中运行子页面的javascript函数呢,因为我需要通过主页面传递参数给子页面,并运行相应的js代码<i...
现在在主页面中潜入了一个子页面(html),请问如何在主页面的事件中运行子页面的javascript函数呢,因为我需要通过主页面传递参数给子页面,并运行相应的js代码
<iframe id="contentFrm"
name="contentFrm"
src="my.html"
></iframe> 展开
<iframe id="contentFrm"
name="contentFrm"
src="my.html"
></iframe> 展开
2个回答
展开全部
你在iframe的宿主页面(就是你写上面html代码的页面),使用下面代码,给你一个引子:
var contentFrm=document.getElementById("contentFrm");
contentFrm.contentWindow.process();
上面这一行的含义是,iframe对象有一个contentWindow属性标识的是你在Iframe里面载入页面的window对象,既然是window对象,那么你就可以直接调用在该页面定义的JS方法。上面的process()方法就是在你my.html中定义方法,当然能还能有传入参数的。
如果想要获得my.html页面的document对象,你可以使用下面js代码做到:
contentFrm.contentWindow.document
因为document对象实际是window对象的一个属性对象,通过window对象可以获得的。
但必须注意的是,如果iframe页面载入的页面地址是另外一个域的,那么上面的代码就不能用了了,浏览器在安全性方面做了控制的。
这个安全机制很重要的,举一个例子,我如果在iframe载入银行网页,我如果上面能跨域操作的话,那么银行的网页就很危险了!!试想一下吧。
var contentFrm=document.getElementById("contentFrm");
contentFrm.contentWindow.process();
上面这一行的含义是,iframe对象有一个contentWindow属性标识的是你在Iframe里面载入页面的window对象,既然是window对象,那么你就可以直接调用在该页面定义的JS方法。上面的process()方法就是在你my.html中定义方法,当然能还能有传入参数的。
如果想要获得my.html页面的document对象,你可以使用下面js代码做到:
contentFrm.contentWindow.document
因为document对象实际是window对象的一个属性对象,通过window对象可以获得的。
但必须注意的是,如果iframe页面载入的页面地址是另外一个域的,那么上面的代码就不能用了了,浏览器在安全性方面做了控制的。
这个安全机制很重要的,举一个例子,我如果在iframe载入银行网页,我如果上面能跨域操作的话,那么银行的网页就很危险了!!试想一下吧。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询