JavaScript Document.Head是Null

qwe*_*qwe 10 html javascript css load onload

在IE 8中运行以下代码时出错,但在其他浏览器中没有:

'document.head'为null或不是对象

这是我的代码:

  <!DOCTYPE html>
   <html>
   <head>
   <meta charset="utf-8" />
   <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
   <link rel="stylesheet" type="text/css" href="style.css" media="screen" />
   <script type="text/javascript" src="respond.min.js"></script>

    <script>
   function load() {
    document.getElementsByID("myFrame");
    }
   </script>
   </head> 
   <body>       

    <iframe src="http://instagram.com/p/bTlK6CRNcL/embed/" width="300" height="400" frameborder="0" scrolling="no" allowtransparency="true" id="myFrame" onload="load()"></iframe>

</body>
</html>
Run Code Online (Sandbox Code Playgroud)

Ian*_*Ian 18

document.head失败,因为IE8不支持它(9之前没有IE版本); 这是HTML5的一个新功能.相反,您可以在任何浏览器中使用以下内容:

var head = document.head || document.getElementsByTagName("head")[0];
Run Code Online (Sandbox Code Playgroud)

如果document.head定义(可用),它将短路并立即使用它.如果它没有定义,它将使用该document.getElementsByTagName部分,它将在任何浏览器中找到它.

除非你想在this || that整个代码中使用这种代码,否则它总是安全且足够好用document.getElementsByTagName("head")[0].


参考文献: