可能重复:
Is it possible to call Javascript function in parent document from JS in iframe?
我有一个main.php
页。
这包含src
为random.php
的iframe。
如何使用随机函数main.php
在random()
中添加脚本,让random.php
使用该函数?
答案 0 :(得分:1)
如果您使用的是HTML5,则可以使用postMessage()
功能..
这是一个很好的演示:
http://html5demos.com/postmessage
<强>更新强>
想法是postMessage
到iframe window
对象,每个窗口都是这样监听消息事件:
在你的main.php中:
window.addEventListener("message", function(e){
var data = e.data; // data can be any object for example { type: 'random', payload: {}... }
switch(data.type){
case 'random':
// do somthing here with the payload...
break;
}
});
你的iframe中的(random.php):
window.parent.postMessage({ type: 'random', payload: {...} });
答案 1 :(得分:0)
您可以使用random
在包含iframe
的页面中调用函数window.parent.random()
。如果你想做相反的事情,即从包含页面调用(i
)frame
中的函数,你应该使用[DOM Reference to frame].contentWindow.random()
。
↪More information about window.parent
at the Mozilla Developer wiki
random.php
位于其他域,则由于Same Origin Policy而无法执行此操作。如果是这种情况,您可以使用HTML5 postMessage
跨页面传输信息*。但是,这不允许您直接调用其他域的JavaScript函数。
*有关浏览器支持信息,请参阅Can I use