script元素的onload,onreadystatechange事件
来源:互联网 发布:股票的网络投票 编辑:程序博客网 时间:2024/05/21 19:22
E的 script 元素支持onreadystatechange事件,不支持onload事件。
FF的script 元素不支持onreadystatechange事件,只支持onload事件。
如果要在一个<script src="xx.js"> 加载完成执行一个操作,FF使用onload事件就行了,IE下则要结合onreadystatechange事件和this.readyState,以下是IE的一个例子:
<script type="text/javascript" src="xx.js" onreadstatechange="if(this.readyState=='load') alert('loaded');"></script>
this.readyState的值为'loaded'或者'complete'都可以表示这个script已经加载完成.
如何结合IE和FF的区别?参考一下jquery的源码:
var script = document.createElement('script');
script.src="xx.js";
script.onload = script.onreadystatechange = function(){
if( ! this.readyState //这是FF的判断语句,因为ff下没有readyState这人值,IE的readyState肯定有值
|| this.readyState=='loaded' || this.readyState=='complete' //这是IE的判断语句
){
alert('loaded');
}
};
我认为这样写比较好:
var loadScript = function(fileName,callback) {
var scriptTag = document.createElement("script");
scriptTag.src = fileName;
document.body.appendChild(scriptTag);
if (callback) {
scriptTag.onload = callback;//ff
scriptTag.onreadystatechange = function()//ie
{
if (scriptTag.readyState == "loaded") {
callback();
}
}
}
}
- script元素的onload,onreadystatechange事件
- script 元素onreadystatechange事件onload事件
- script.onload=script.onreadystatechange=function()的作用
- requireJS&seaJS模块加载器原理:<script>标签加载外部js文件用到的onload、onerror和onreadystatechange事件
- body元素的onload事件
- onreadystatechange事件的用法
- iframe的onreadystatechange事件
- js中 onreadystatechange 和 onload的区别
- ready和onload比较;可以在下面的script里面调用先前script;动态为元素添加事件;浮动广告;js添加删除tr
- onreadystatechange()事件
- onreadystatechange 事件
- 加载顺序 ready onload onreadystatechange
- window.onload,body onload和document.onreadystatechange
- window.onload,body onload和document.onreadystatechange
- window.onload,body onload和document.onreadystatechange
- window.onload,body onload,document.onreadystatechange
- 关于frame/iframe的onreadystatechange事件
- 关于frame/iframe的onreadystatechange事件
- 显卡 型号 后缀
- 在页面中动态载入外部javascript
- 如何成为有钱人
- C#设置ListView控件的行高
- ajax 同步和异步的区别
- script元素的onload,onreadystatechange事件
- STL中: string、vector、list、deque、set、map 的区别
- 主板芯片
- AJAX中的请求方式以及同步异步的区别
- 用完成端口开发大响应规模的Winsock应用程序
- const用法
- 【转】硕士生写小论文的经验
- wait()/notify()的使用
- java .class与getClass的区别