Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/427.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何获取一个网页的url,该网页将另一个网页嵌入到另一个源域上的iframe中_Javascript_Html_Dom_Cross Domain_Same Origin Policy - Fatal编程技术网

Javascript 如何获取一个网页的url,该网页将另一个网页嵌入到另一个源域上的iframe中

Javascript 如何获取一个网页的url,该网页将另一个网页嵌入到另一个源域上的iframe中,javascript,html,dom,cross-domain,same-origin-policy,Javascript,Html,Dom,Cross Domain,Same Origin Policy,网页A嵌入在网页B内部的iframe中。A和B位于两个不同的域上,因此同一来源策略阻止A访问B的属性 location = window.top.location.href // emits a "Permission denied" error A还有其他方法获取B的url吗?如果您可以控制这两个域,您可以尝试一个跨域脚本库,如,它包装了跨浏览器的怪癖,并提供了一个易于使用的API,用于使用该浏览器的最佳可用机制在不同域之间通过客户端脚本进行通信(如有,其他机制如无) 警告:您需要对这两个域

网页A嵌入在网页B内部的iframe中。A和B位于两个不同的域上,因此同一来源策略阻止A访问B的属性

location = window.top.location.href // emits a "Permission denied" error

A还有其他方法获取B的url吗?

如果您可以控制这两个域,您可以尝试一个跨域脚本库,如,它包装了跨浏览器的怪癖,并提供了一个易于使用的API,用于使用该浏览器的最佳可用机制在不同域之间通过客户端脚本进行通信(如有,其他机制如无)

警告:您需要对这两个域进行控制才能使其正常工作(其中“控制”意味着您可以在这两个域上放置静态文件)。但是您不需要任何服务器端代码更改

在您的例子中,您需要将javascript添加到一个或两个页面中,以查看location.href,并使用库从一个页面中的脚本调用另一个页面中的脚本


另一个警告:这里有安全隐患——请确保您信任另一个域的脚本!

如果您对这两个域都有控制权,您可以尝试一个跨域脚本库,如,它包装了跨浏览器的怪癖,并提供了一个易于使用的API,用于使用最佳可用的客户端脚本在不同域之间进行通信e该浏览器的机制(如可用,其他机制如不可用)

警告:您需要对这两个域进行控制才能使其正常工作(其中“控制”意味着您可以在这两个域上放置静态文件)。但是您不需要任何服务器端代码更改

在您的例子中,您需要将javascript添加到一个或两个页面中,以查看location.href,并使用库从一个页面中的脚本调用另一个页面中的脚本


另一个警告:这里有安全隐患——请确保您信任其他域的脚本!

因此,如果您的页面嵌入在同一域的页面中,则只能使用window.top?不,您可以使用window.top——您只是无法从顶部框架读取数据。例如,您可以设置位置,让浏览器加载不同的URL进入“顶部”框架。因此,如果您的页面嵌入在同一域中的页面中,则只能使用window.top?不,您可以使用window.top-您只是无法从顶部框架读取数据。例如,您可以设置位置以使浏览器将不同的URL加载到“顶部”框架中。那么parent.document.location呢?Aardvark有些帮助家长、文件、地点呢?土豚有点帮助