我使用该标签在标签显示时提醒我
<html>
<head>
</head>
<body>
<script type="text/javascript">
document.getElementsByTagName('iframe')[0].onload = function() {
alert('loaded');
}
</script>
<iframe></iframe>
</body>
</html>
奇怪,因为这段代码正常工作:
<html>
<head>
</head>
<body>
<iframe></iframe>
<script type="text/javascript">
document.getElementsByTagName('iframe')[0].onload = function() {
alert('loaded');
}
</script>
</body>
</html>
为什么Js需要在标签下工作? 这有什么问题?
答案 0 :(得分:0)
当您尝试访问时,iframe标记不存在。
您可以通过简单地提醒数组长度来检查,例如
alert(document.getElementsByTagName('iframe'));
您是否考虑过在加载页面后执行javascript?您可以使用jQuery之类的框架来促进交叉浏览器问题。或者只是将所有的javascript代码放在正文的最底部。
答案 1 :(得分:0)
因为脚本标记中的代码会立即执行。在第一个示例中,iframe当时不存在。但是你可以做的是将代码包装到onload(用于主页)事件中。 E.g:
window.onload = function() {
//your code
}
然后放置代码无关紧要。