我在另一个主机中有一个上传脚本,在远程文件上传后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
的主机页面中我在 page B 中有一个stopUpload
函数,该函数应该在上传完成后在页面 A 上运行,但面临上述错误......
我可以在另一个页面中远程调用javascript函数吗?
谢谢。
您可能违反了同源政策。
仅当父窗口内容属于同一源时,Iframe
才能访问父窗口内容。原点由Protocol (http/https)
、domain name(example.com
和port(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
。