我有一个asp.net网页,其中包含一些javascript代码和一个查看不同网页的Iframe元素,我的问题是:有没有可用的方法让这两个窗口相互通信?
对于eaxmple:我有一个名为" Say HelloWorld"如果点击了iframe页面中的按钮,应该从iframe调用的asp.net javascript代码
答案 0 :(得分:3)
一般来说,如果您正在处理访问相同域/端口/协议组合的Windows,则会产生巨大差异。换句话说,同源政策是否会以任何方式打扰您。无论SOP如何,您都应该阅读:HTML5 postMessage
如果你严格处理同一个域名,你并不需要像postMessage这样的魔法,但当然它也不会对你造成太大伤害。
答案 1 :(得分:0)
从孩子那里打电话给父母:
<script>
function calledFromChildIframe() {
alert("I am in Parent");
}
</script>
<iframe id="myFrame">
...........
<a onclick="parent.calledFromChildIframe();" href="#" >Call Me </a>
</iframe>
对于相反的情况, 假设你的iFrame的id是“targetFrame”,你要调用的函数是targetFunction()
document.getElementById('targetFrame').contentWindow.targetFunction();
来源:here