日期:2014-05-16  浏览次数:20428 次

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";
}