从另一个站点远程调用 JavaScript 函数


remote call javascript function from another site

我在另一个主机中有一个上传脚本,在远程文件上传后Ajax我调用如下函数:

echo '<script language="javascript" type="text/javascript">window.top.window.stopUpload('.$result.' , ''res2'' , uploaded , dkey);</script>';

主页中的stopUpload函数应该运行并执行某些操作(显示图片和...但我收到权限被拒绝错误

Error: Permission denied to access property "stopUpload"

提示:假设我在pageAstopUpload函数,我使用 ajax 调用发送文件以上传到我的另一个名为pageB的主机页面中我在 page B 中有一个stopUpload函数,该函数应该在上传完成后在页面 A 上运行,但面临上述错误......

我可以在另一个页面中远程调用javascript函数吗?

谢谢。

您可能违反了同源政策。

仅当父窗口内容属于同一源时,Iframe才能访问父窗口内容。原点由Protocol (http/https)domain name(example.comport(default 80)组成。如果其中任何一个不同,则考虑来自不同来源的站点。如果您能够修改两个站点的内容,则可以手动设置document.domain=domain.com。之后,您将不会收到错误。

#Edit

这两个站点至少应该具有共同的超级域,以便手动域设置正常工作。

例如,facebook.com and google.com can never be compatible因为它们的超级域不同。

然而docs.google.com and developer.google.com can be compatible,因为它们super domain google.com共同点。

它们都必须在脚本标记中声明document.domain=google.com