`
javne
  • 浏览: 67794 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

script节点的onload,onreadystatechange事件

阅读更多

New Document <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js" type="text/javascript"></script><script type="text/javascript"> $(document).ready(function(){ }); </script>

有时候我们需要在引用JS完成之后立即执行某些函数或者代码,我们可以通过onreadystatechange或者onload事件来完成

FireFox的script 元素不支持onreadystatechange事件,只支持onload事件

IE的 script 元素支持onreadystatechange事件,不支持onload事件。

如果要在一个<script src="xx.js"> 加载完成执行一个操作,FF使用onload事件就行了,IE下则要结合onreadystatechange事件和this.readyState

<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');
}
};
分享到:
评论

相关推荐

    JavaScript动态添加css样式和script标签

    3. **事件监听:** 如果需要在脚本加载完成后执行某些操作,可以使用`script.onload`或`script.onreadystatechange`事件。 4. **兼容性:** 这些方法适用于所有现代浏览器,但在一些较旧或非主流的浏览器中可能需要...

    前端开发面试题

    script.onload = script.onreadystatechange = function() { if (/loaded|complete|undefined/.test(this.readyState) && !this.once) { this.once = 1; this.parentNode.removeChild(this); } }; script.src =...

    动态加载JavaScript文件的3种方式

    这段代码定义了一个名为loadJs的函数,它创建了一个script元素,并为它添加了一个onload事件处理器或一个onreadystatechange事件处理器,以确保在文件加载完成后执行回调函数。然后将script元素添加到了document....

    js使用小技巧

    在`onload`事件中打开新窗口可能会被浏览器拦截,应尽量避免。 16. **选择本地文件改变图片源**: 当用户选择本地文件时,可以通过`onpropertychange`事件更新图片源: ```html ``` 17. **获取文件路径**: ...

    浅谈js文件引用方式及其同步执行与异步执行

    通过为`&lt;script&gt;`标签添加`onload`或`onreadystatechange`事件处理器,开发者可以在脚本加载完成时执行特定的代码。这一机制非常有用,尤其在动态加载脚本时,可以确保在脚本完全加载并且可用后,再进行后续操作。 ...

    JavaScript — 原生对象和方法1

    还有如`onloadstart`, `onload`, `onloadend`, `onerror`, `ontimeout`, `onabort`等事件处理函数,分别对应请求的不同阶段。 `cookie` 是一种存储在用户浏览器上的小型数据片段,`document.cookie`可读写cookie。`...

    vc读xml数据,简单实用。

    xhr.onreadystatechange = function() { if (xhr.readyState == 4 && xhr.status == 200) { var xmlDoc = new DOMParser().parseFromString(xhr.responseText, "text/xml"); var elements = xmlDoc....

Global site tag (gtag.js) - Google Analytics