在不同的JavaScript窗口之间交谈?

时间:2014-10-30 11:38:56

标签: javascript jquery asp.net iframe

我有一个asp.net网页,其中包含一些javascript代码和一个查看不同网页的Iframe元素,我的问题是:有没有可用的方法让这两个窗口相互通信?

对于eaxmple:我有一个名为" Say HelloWorld"如果点击了iframe页面中的按钮,应该从iframe调用的asp.net javascript代码

2 个答案:

答案 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>

来源:window.parent

对于相反的情况, 假设你的iFrame的id是“targetFrame”,你要调用的函数是targetFunction()

document.getElementById('targetFrame').contentWindow.targetFunction();

来源:here