document.getElementsByTagName添加JS调用后不成功
网站要用document.getElementsByTagName('iframe')[0].src="XXXX";把网页里唯一的一个IFRAME的SRC重新指向,本来是成功的,但后来因特殊需要,把在<body></body>下的几个JS文件调用换到了<head></head>下:
结果getElementsByTagName就失效了,有哪位大侠能帮看看该怎么解决?
------解决方案--------------------执行时iframe未加载(因为js在iframe前面)
把该句代码写成
window.onload = function(){
document.getElementsByTagName('iframe')[0].src="XXXX";
}
就行了
------解决方案--------------------浏览器加载以及执行顺序为从上到下。
可以指定iframe的onload事件
funciton changeSrc()
{
document.getElementsByTagName('iframe')[0].src="XXXX";
}
<iframe onload="changeSrc();"/>
或者在页面加载之后触发某种事件来执行。
------解决方案--------------------把它设置为window.onload事件,....
------解决方案--------------------这个肯定是你的js使用它的时候,它还没有加载。你要想办法在iframe加载之后再使用它。
建议方法:
1.把事件程序加到iframe的onload事件上
2.把事件程序加到window的onload上
3.在事件处理程序上设置延时处理,选取一个合适的时间再处理
------解决方案--------------------把要执行的js放到onload事件里面
------解决方案--------------------加载head的js时运行了
document.getElementsByTagName('iframe')[0].src="XXXX";
而iframe未加载到浏览器,所以会出错。
可以等页面加载完再运行就可以了
window.onload = function(){
document.getElementsByTagName('iframe')[0].src="XXXX";
}