JavaScript В Документ.Head равно Null

получение ошибки при запуске следующего кода в IE 8, но не в других браузерах:

'.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>

1 ответов


document.head не удается, потому что IE8 не поддерживает его (нет версии IE до 9); это новая функция HTML5. Вместо этого вы можете использовать следующее В любом браузере:

var head = document.head || document.getElementsByTagName("head")[0];

если document.head определено (доступно), оно будет короткое замыкание и использовать это немедленно. Если он не определен, он будет использовать document.getElementsByTagName часть, которая найдет его в любом браузере.

если вы не хотите иметь такого рода this || that на протяжении всего вашего кода, это безопасно и достаточно хорошо, чтобы просто всегда использовать document.getElementsByTagName("head")[0].


ссылки: