`
jamm19860411
  • 浏览: 86564 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

如何判断Javascript脚本加载完成

阅读更多
function include_js(file){
var _doc = document.getElementsByTagName("head")[0];
var obj = document.createElement("script");
obj.setAttribute("type", "text/javascript");
obj.setAttribute("src", file);
_doc.appendChild(obj);
if(!ie){//if not IE
//Firefox2、Firefox3、Safari3.1+、Opera9.6+ support js.onload
obj.onload = function(){
//obj加载完后可以写的代码
}
}else{ //IE6、IE7 support js.onreadystatechange
obj.onreadystatechange = function(){
//obj加载完后可以写的代码
}
}
return false;
}


//execution function
include_js('http://www.baidu.com');
我们可以对加载的 JS 对象使用 onload 来判断(js.onload),此方法 Firefox2、Firefox3、Safari3.1+、Opera9.6+ 浏览器都能很好的支持,但 IE6、IE7 却不支持。曲线救国 —— IE6、IE7 我们可以使用 js.onreadystatechange 来跟踪每个状态变化的情况(一般为 loading 、loaded、interactive、complete),当返回状态为 loaded 或 complete 时,则表示加载完成,返回回调函数。

对于 readyState 状态需要一个补充说明:

   1. 在 interactive 状态下,用户可以参与互动。
   2. Opera 其实也支持 js.onreadystatechange,但他的状态和 IE 的有很大差别。
分享到:
评论

相关推荐

    C#判断webbrowser页面最终加载完成

    综上所述,要判断WebBrowser控件的页面是否最终加载完成,通常需要结合多种策略,例如监听`DocumentCompleted`事件,检查`ReadyState`,监控`ProgressChanged`,以及可能的话,利用JavaScript交互。根据具体的应用...

    加载JavaScript脚本的包

    这就是`js jar jwr`标签所指的场景,它涉及到Java运行时环境中如何加载和执行JavaScript脚本。 1. **Nashorn JavaScript引擎**: 在Java 8之前,Java提供了Nashorn JavaScript引擎,这是一个内置的JavaScript解释...

    QT中使用QScriptEngine引擎编译运行JavaScript脚本

    有了QScriptEngine,就可以加载并执行JavaScript脚本了。可以通过`QScriptEngine::evaluate()`函数来完成这个任务。例如,如果有一个名为`script.js`的JavaScript文件,可以这样运行: ```cpp QString scriptFile =...

    怎么判断js脚本加载完成

    以上就是判断JavaScript脚本加载完成的两种主要方法,通过结合`onload`和`onreadystatechange`,我们可以确保在各种浏览器环境下都能正确地检测到脚本加载的状态。在实际项目中,为了保证代码的可维护性和可扩展性,...

    PyQt5内嵌浏览器注入JavaScript脚本实现自动化操作的代码实例

    概要 应同学邀请,演示如何使用 PyQt5 内嵌浏览器浏览网页,并注入 Javascript ... Javascript 脚本使用网址中的路径名,判断当前网页位置,从而决定执行哪种操作。 python 代码示例 #!/usr/bin/env python3 # -*- c

    javascript页面加载完执行事件代码

    3. 如果页面中有多个JavaScript文件,可以考虑将window.onload事件中的代码提取到一个单独的JavaScript文件中,并确保该文件在所有其他脚本加载之后执行。 4. 对于需要频繁交互的复杂页面,合理组织代码,避免使用...

    浏览器环境下JavaScript脚本加载与执行探析之defer与async特性

    defer和async特性相信是很多JavaScript开发者”熟悉而又不熟悉”的两个特性,从字面上来看,二者的功能很好理解,分别是”延迟脚本”和”异步脚本”的作用。...在《浏览器环境下JavaScript脚本加载与执行探

    js 判断脚本加载完毕的代码

    为了确保这些脚本加载完成后才执行某些操作,比如DOM操作或者事件绑定等,我们需要一种机制来判断脚本是否已经加载完毕。本文将详细介绍如何使用JavaScript来判断脚本加载的状态,并给出一个跨浏览器兼容性的示例。 ...

    个人JavaScript脚本收藏

    这个"个人JavaScript脚本收藏"压缩包文件显然包含了作者收集的各种JavaScript代码片段和特效,旨在帮助开发者快速实现特定的功能或者提升网页的用户体验。 1. **基础概念**:JavaScript基于ECMAScript规范,它主要...

    JavaScript脚本特效

    7. **异步编程**:JavaScript中的Promise和async/await语法可以处理异步操作,如延迟加载资源或等待动画完成后再执行其他操作,确保网页的响应性和流畅性。 8. **JavaScript库和框架**:许多开发者使用jQuery、...

    网页javascript脚本语言提取器

    "网页JavaScript脚本语言提取器"是一个工具,专门设计用于从网页中抓取并分析JavaScript代码,这在进行网页分析、调试或者学习JavaScript时非常有用。 1. **JavaScript的基本概念**: - JavaScript是一种轻量级的...

    JavaScript脚本加载程序Basket.js.zip

    Basket.js 是一个简单的(概念)脚本加载器,是本地存储(localStorage)的缓存脚本。// fetch and cache the file basket.require({ url: 'jquery.min.js' }); // fetch and cache again basket....

    5种JavaScript脚本加载的方式

    动态脚本加载还允许开发者在脚本加载完成后执行回调函数,增强了脚本执行的可控性。但是,动态加载也存在潜在的风险,那就是无法保证脚本文件的加载顺序,如果脚本之间存在依赖关系,可能会导致执行错误。 为了解决...

    javascript 脚本集合

    它的一句$(document).ready()就可以确保代码在DOM加载完成后再执行,$.ajax()用于进行异步请求,$().click()等方法则简化了事件绑定。 6. **JavaScript对象**:JavaScript的对象是键值对的集合,可用来封装数据和...

    常用的javascript脚本、特效

    在本资源包中,你将找到一系列常用的JavaScript脚本和特效,这些都对提升网站用户体验有着重要作用。 首先,JavaScript脚本是网页动态功能的核心,它可以在用户与网页交互时实时更新内容,比如表单验证、图片轮播、...

    如何让动态插入的javascript脚本代码跑起来

    通过合理使用`defer`属性、`onload`事件、`readyState`检查和`window.setTimeout`,我们可以确保脚本加载完成后,再执行相关的函数,从而避免因脚本未加载导致的错误。在实际开发中,根据项目需求和浏览器兼容性选择...

    LABjs无阻塞脚本加载工具

    总结来说,LABjs是JavaScript开发中提高页面性能的利器,通过它的无阻塞加载策略和丰富的配置选项,我们可以更好地优化网页的脚本加载流程,提升用户体验。在开发过程中,可以根据需要选择不同版本的LABjs文件,以...

    javascript脚本压缩工具

    JavaScript脚本压缩工具是一种用于优化和减小程序大小的实用程序,尤其在Web开发中非常常见。JavaScript代码在未经压缩的情况下可能会包含许多空格、换行符、注释以及可选的逗号,这些都会增加文件的加载时间和网络...

Global site tag (gtag.js) - Google Analytics