我的web应用程序中有一个iframe,我需要从父文档中获取其当前url(当用户导航框架并更改原始源url时)。
Url仅用于社交共享。
作为一个跨域场景,我不拥有子文档(它是一个远程域)。
我知道同源政策阻止从父文档到子文档的跨域访问,但我正在通过任何可能的创造性手段寻找解决方案——必须有办法。
如果不控制iFrame内容,那么唯一的解决方案就是创建一个代理,将以下代码行注入到每个页面中。
window.postMessage(window.location,'*');
然后在父页面上,您可以收听消息。
window.addEventListener("message", receiveMessage, false);
function receiveMessage(event) {
console.log(event.data);
}