来自外部域iframe的Javascript调用函数

时间:2011-08-21 06:16:01

标签: javascript cross-domain

页面A和页面B位于不同的域中。

A在第B页上是iframed。

我需要调用第A页的B页上的函数。

这可能没有像porthole这样的东西吗?

基本上我要做的是简单的推送通知(A通知B),不需要传输任何内容。

3 个答案:

答案 0 :(得分:1)

使用cross window messaging有一种HTML5方式可以做到这一点。

当HTML5不可用时,various work-arounds甚至可以在不同的来源之间使用。

答案 1 :(得分:0)

如果你想避免使用那个特定的库,你可以使用它所依据的概念并自己动手。这是一篇非常深入的文章,它描述了不使用库的技术:http://softwareas.com/cross-domain-communication-with-iframes

答案 2 :(得分:0)

将A和B放在同一个域中,不同的子域名就可以了。然后在iframe A中,您可以调用parent.function_name(parameter1,参数2)。如果您需要经常调用该函数,您可能需要这样做:

function p(data, div_id){parent.p(data, div_id);}  

然后在iframe A中,你可以调用p(data,div_id),它实际上会调用页面B的函数。我用了很多彗星流。如果您有兴趣,可以阅读本文,它基本上使用iframe与数据进行通信:

http://www.shanison.com/2010/05/10/stop-the-browser-“活动指示器-的-末日” -while加载-彗星永远的iframe /