从另一个站点远程调用 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"

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

我可以远程调用另一个页面中的javascript功能吗?

谢谢。

您可能违反了 Same Origin Policy

一个 Iframe 只能访问父 window 的内容,前提是它们都属于同一来源。 原点由 Protocol (http/https)domain name(example.comport(default 80) 组成。如果其中任何一个不同,则站点被认为来自不同的来源。如果您能够修改两个站点的内容,那么您可以手动设置 document.domain=domain.com。之后你就不会收到错误了。

#编辑

这两个站点至少应该有共同的超级域,手动域设置才能起作用。

比如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