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]
.
ссылки:
-
document.head
- https://developer.mozilla.org/en-US/docs/Web/API/document.head (прокрутите вниз для поддержки браузера) -
document.getElementsByTagName
- https://developer.mozilla.org/en-US/docs/Web/API/document.getElementsByTagName