A页和B页在不同的域
A被框在b页。
我需要从a页调用B页上的函数。
如果没有舷窗之类的东西,这可能吗?
基本上我想做的是一个简单的推送通知(a通知B),不需要传输任何内容。
HTML5有一种跨窗口消息传递的方法。
当HTML5不可用时,有各种各样的解决办法,甚至可以在不同的起源之间使用。
如果您想避免使用特定的库,您可以使用它所基于的概念并自行更改。这里有一篇非常深入的文章,描述了不使用库的技术:http://softwareas.com/cross-domain-communication-with-iframes.
把A和B放在同一个域,不同的子域就可以了。然后在iframe A中,你可以调用parent。function_name (parameter1, parameter 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-"throbber-of-doom"-while-loading-comet-forever-iframe/