消息EventListener返回cf-tick

时间:2014-03-03 13:47:26

标签: javascript html dom addeventlistener

我的问题很简单,

我有这个。

<!DOCTYPE html>
<head>
<script>
window.addEventListener('message', messageHandler, false);
function messageHandler(event)
{
        if(event.data) {
    document.getElementById('test').innerHTML = event.data;
        }

}
</script>
</head>
<body>
<span id="test"></span>
</body>

将它返回给我,当它不应该给我任何东西时

cf-tick

这是为什么?我怎么能阻止这个?

一个现实的例子就是:Test Page

1 个答案:

答案 0 :(得分:1)

你有cloudflare js

http://ajax.cloudflare.com/cdn-cgi/nexp/dok8v=221574e73d/cloudflare.min.js

已加载到您的信息页cf-tick中。如果您在文件中搜索以下代码,则可以看到发布消息的文件:

a.postMessage("cf-tick","*")

如果您删除 CloudFlare 脚本的加载,则不会向网页发布任何消息。 如果您不希望cf-tick被事件监听器捕获,您可以检查该消息是否不是cf-tick

window.addEventListener('message', messageHandler, false);
function messageHandler(event){
 if(event.data) {
  if(event.data!="cf-tick")
   document.getElementById('test').innerHTML = event.data;
 }
}