从另一个站点远程调用 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.com
和 port(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
。
我在另一台主机上有一个上传脚本,在使用 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.com
和 port(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
。