在共享主机上有一个丑陋的https网址,我一直在尝试使用代理iframe和postMessage()
方法解决javascript跨网域限制问题。从主页面向孩子发送消息似乎最初是完美的。当我尝试回答时出现问题。
MessageEvent
的源属性未定义,window.parent
和window.top
也未定义。因此,我没有引用父窗口,也没有办法发送请求的结果。
任何帮助解决问题的人都将不胜感激!
修改
父:
// Never gets triggered
window.addEventListener("message", function(e) { console.log(e); });
var data = "some string";
document.getElementById("proxy_frame")
.contentWindow.postMessage(data,"https://proxys-domain/");
子:
window.addEventListener("message", function(e) {
// This appears in chrome/ie/firefox console correctly
console.log(message);
// This triggers :
// Uncaught TypeError: Cannot read property 'postMessage' of undefined
e.source.postMessage(event.currentTarget, e.origin);
}