Javascript 查找iFrame的当前URL
有没有办法找到iframe的当前URL?如果将safari上的通知消息onload设置为document.getElementByTagName(“iframe”)[0].contentWindow.location.href,则每次iframe页面更改时,我都会收到当前url。不幸的是,由于Javascript同源策略指导原则,这在Chrome上不起作用。有人能推荐一种替代方法,让某人在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
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的changedsrc
属于外部第三方域,则您无法访问它。我尝试过发送postMessage,但我相信您必须控制这两个域才能正常工作。我有一个包含iframe的页面。iframe总是在en.wikipedia.org域中。我试图将postMessage设置为在onload期间关闭,并将事件列表放在我的主页中,但没有成功:(是的,这是真的,你们都需要访问权限才能将调用消息的javascript放到父窗口。有没有可能存在一个可以获取当前URL的解决方案?不要这样认为,至少没有直接的方法,SOP是一个很强的规则