2
是工作
...
<script>
if (window.addEventListener) {
// addEventListener equivalent of code below
} else if (window.attachEvent) {
window.attachEvent("message", function(e) {
if (e.origin != "page2.html") { return; }
alert(e.data);
});
}
</script>
<iframe src="page2.html"></iframe>
page2.html:
<script>
var message = "hello!";
parent.postMessage(message, '*');
</script>
此代碼工作正常在Chrome,FF和Opera。當然,IE有自己的做事方式,所以儘管使用自己的.attachEvent
這個代碼不起作用。
page2.html實際上是另一個域上的頁面;我正在發送正確的P3P標題(應該不重要,但那是)。
我如何知道爲什麼postMessage似乎沒有達到父頁面?
...它使用'window.event'代替'event'參數。 –
將第一個參數切換爲「onmessage」...似乎沒有幫助。我在這裏錯過了什麼? –
請參閱@ MarcelKorpel的評論,較早的IE使用'window.event'。一個通用的方法是'e = e || window.event' –