window.attachEvent在IE8中似乎不起作用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了window.attachEvent在IE8中似乎不起作用相关的知识,希望对你有一定的参考价值。

首页:

...
<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,Firefox和Opera中运行良好。 IE当然具有自己的处理方式,因此即使使用自己的.attachEvent,该代码也无法工作。

page2.html实际上是另一个域上的页面;我正在发送正确的P3P标头(没关系,但是有)。

我如何找出为什么postMessage似乎未到达父页面?

答案

[attachEvent"onmessage"的形式表示其事件名称,与addEventListener(使用"message"的相对)]

以上是关于window.attachEvent在IE8中似乎不起作用的主要内容,如果未能解决你的问题,请参考以下文章

适用于iPhone / iPad的javascript滚动活动?

事件兼容性封装

js38---门面模式

IE的最小宽度和最大宽度

IE6中的最小和最大宽度

在html中使用window.onload和onload的区别