Javascript未捕获错误:索引大小错误:Chrome上的DOM异常1

Javascript未捕获错误:索引大小错误:Chrome上的DOM异常1,javascript,dom,button,addeventlistener,Javascript,Dom,Button,Addeventlistener,我的HTML文件 <!DOCTYPE HTML> <html lang="en-US"> <head> <meta charset="UTF-8"> <title></title> </head> <body> <p>Hello World</p> <script type="text/javascript" src="hello.js"&

我的HTML文件

<!DOCTYPE HTML>
<html lang="en-US">
<head>
    <meta charset="UTF-8">
    <title></title>
</head>
<body>
    <p>Hello World</p>
    <script type="text/javascript" src="hello.js"></script>
</body>
</html>

我不明白为什么当我点击测试按钮时,Chrome控制台会显示error“未捕获错误:索引大小错误:DOM异常1”。但我意识到只有在localhost上运行它时才会出现错误(我使用xampp的apache作为localhost)。如果我像普通文件那样运行://,它会成功,没有任何错误

它对我来说很好

但是,不管怎样,请使用window.onload函数从javascript执行任何操作

那就这样做吧

   window.onload = function(){
        var button = document.createElement("button");
        button.id = "test";
        button.innerHTML = "Test";
        button.addEventListener("click", function() {
            alert("hello");
        });
        var body = document.body;
        body.appendChild(button);   
           }

实际上,hello.js必须位于html文件的底部。我查过了,可能是chrome与插件或其他任何东西的冲突。。。我用匿名模式运行chrome(Ctr+Shift+N),它没有任何错误。
   window.onload = function(){
        var button = document.createElement("button");
        button.id = "test";
        button.innerHTML = "Test";
        button.addEventListener("click", function() {
            alert("hello");
        });
        var body = document.body;
        body.appendChild(button);   
           }