Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.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 查找iFrame的当前URL_Javascript_Url_Iframe - Fatal编程技术网

Javascript 查找iFrame的当前URL

Javascript 查找iFrame的当前URL,javascript,url,iframe,Javascript,Url,Iframe,有没有办法找到iframe的当前URL?如果将safari上的通知消息onload设置为document.getElementByTagName(“iframe”)[0].contentWindow.location.href,则每次iframe页面更改时,我都会收到当前url。不幸的是,由于Javascript同源策略指导原则,这在Chrome上不起作用。有人能推荐一种替代方法,让某人在iframe中获取页面的当前URL吗 跳过同一原产地政策可能有不同的方法: 我建议postMessages

有没有办法找到iframe的当前URL?如果将safari上的通知消息onload设置为document.getElementByTagName(“iframe”)[0].contentWindow.location.href,则每次iframe页面更改时,我都会收到当前url。不幸的是,由于Javascript同源策略指导原则,这在Chrome上不起作用。有人能推荐一种替代方法,让某人在iframe中获取页面的当前URL吗

跳过同一原产地政策可能有不同的方法:

我建议
postMessages

应与Firefox 3.5、Opera 10、Safari 4.0/Chrome 3.0+、Internet Explorer 8.0配合使用。但是,您必须同时访问这两个域


您也可以尝试像老式的
XhrIframeProxy
或甚至某种方式,
Xdomain请求
,但我不确定后者是否有良好的支持

您是否尝试过
document.getElementsByTagName(“iframe”)[0]。src
?我尝试过,但不幸的是,这只提供了iframe的初始src。例如,如果my src=“”,则即使我导航到另一篇wiki文章,该.src也只提供给我,而不是更改它。如果iframe的changed
src
属于外部第三方域,则您无法访问它。我尝试过发送postMessage,但我相信您必须控制这两个域才能正常工作。我有一个包含iframe的页面。iframe总是在en.wikipedia.org域中。我试图将postMessage设置为在onload期间关闭,并将事件列表放在我的主页中,但没有成功:(是的,这是真的,你们都需要访问权限才能将调用消息的javascript放到父窗口。有没有可能存在一个可以获取当前URL的解决方案?不要这样认为,至少没有直接的方法,SOP是一个很强的规则