2011-08-21 37 views
1

页面A和页面B位于不同的域。来自外部域iframe的Javascript调用函数

A被的iFrame网页B

我需要调用一个函数,它是第B从页面A.

这是可能没有像porthole

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

+0

你对两个域都有控制权吗? –

+0

很好。我完全控制了A,我可以说服B的所有者在他的页面上放置一个函数/脚本。 – Chad

+0

那么,你可能可以使用这个:[window.postMessage](https://developer.mozilla.org/en/DOM/window.postMessage)。 (注意:这是一个相当新的API) –

回答

0

把A和B放在同一个域中,不同的子域是好的。然后在iframe A中,可以调用parent.function_name(parameter1,parameter 2)。如果你需要经常调用该函数,你可能会想这样做:

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

然后在iframe中,你可以调用P(数据,div_id),这实际上将调用网页B的功能。我用了很多彗星流。如果你有兴趣,你可以看一下这,基本上使用iframe与数据通讯:

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

+0

子域解决方案不是一个选项。 – Chad

+0

是否有任何理由不做“var p = parent.p;”? –

相关问题