`
bee1314
  • 浏览: 163545 次
  • 性别: Icon_minigender_1
  • 来自: 安徽
社区版块
存档分类
最新评论

前端异步加载js且判断js是不是加载完成

 
阅读更多

 

/**
     * 异步加载依赖的javascript文件
     * src:script的路径
     * callback:当外部的javascript文件被load的时候,执行的回调
     */
    function loadAsyncScript(src, callback) {
		var head = document.getElementsByTagName("head")[0];
		var script = document.createElement("script");
		script.setAttribute("type", "text/javascript");
		script.setAttribute("src", src);
		script.setAttribute("async", true);
		script.setAttribute("defer", true);
		head.appendChild(script);
		
		//fuck ie! duck type
		if (document.all) {
			script.onreadystatechange = function() {
				var state = this.readyState;
				if (state === 'loaded' || state === 'complete') {
					callback();
				}
			}
		} else {
			//firefox, chrome
			script.onload = function() {
				callback();
			}
		}
    }

 

 

分享到:
评论

相关推荐

    JS异步加载图片

    JS异步加载图片

    前端模块加载解决方案modJS.zip

    require.loadJs (url)异步加载脚本文件,不做任何回调require.loadCss ({url: cssfile})异步加载CSS文件,并添加到页面require.loadCss ({content: csstext})创建一个样式列表并将css内容写入 说明 modJS只实现了...

    异步加载JS、CSS代码(推荐)

    我的风格你懂得,具体详情介绍如下...s.type = 'text/javascript'; s.async = true; s.src = V_src; var x = document.getElementsByTagName('script')[0]; x[removed].insertBefore(s, x); s.onload = function () { i

    vue-router异步加载

    有了这个用Vue.js做单页应用(SPA)更方便,开发方式类似AngularJS

    jQuery选项卡切换图片异步加载代码.zip

    jQuery选项卡切换图片异步加载代码.zip

    nodejs实现bigpipe异步加载页面方案

    AJAX主要是XMLHttpRequest,前端异步的向服务器请求,获取动态数据添加到网页上。这样的往返请求需要耗费时间,而BigPipe技术并不需要发送XMLHttpRequest请求,这样就节省时间损耗。减少请求带来的另一个好处就是...

    JS实现图片延迟加载(缓冲),非常实用

    JS实现图片延迟加载(缓冲),非常实用.注意:页面上如果有滑动门等元素,可能显示不全。因情况需要调一下。总体来说不错!

    一个MVC HTML帮助器以异步加载部分视图

    通过异步自动加载部分视图来加快主视图的加载速度

    利用jQuery的deferred对象实现异步按顺序加载JS文件

    对jQuery中的deferred的用法了一些了解,今天看到园子里的一篇文章:关于重构JS前端框架的失败经验(顺便怀念那些死去的代码),于是把我之前写的一个利用jQuery的deferred异步按顺序加载JS文件方案分享出来,欢迎...

    Web前端模块化组件seajs-3.0.0版

    Sea.js 通过异步加载模块,这对页面性能非常有益。Sea.js 还提供了 combo、flush 等插件,配合服务端,可以很好地对页面性能进行调优。 跨环境共享模块。CMD 模块定义规范与 Node.js 的模块规范非常相近。通过 Sea...

    hls.js前端视频流播放插件

    HLS.js is a JavaScript library that plays HLS in browsers with support for MSE. hls.js是一个JavaScript库,可实现HTTP Live Streaming客户端。 它依靠HTML5视频和MediaSource扩展进行播放。 它通过将MPEG-2...

    react-swipeable-tab:带有iscroll的可滑动和异步加载选项卡组件

    一个可滑动切换,异步加载数据,具有流畅滚动特性的 React-Tab 组件 参考了提供的组件,在此基础上进行了功能特性的丰富 使用 install npm i react-swipeable-tab --save import import { Tab, Tabs, TabList, ...

    JS实现页面数据懒加载

    页面数据懒加载。Div移动到可视区域再去ajax加载内容。 最近有需求做页面的多个table用于加载数据,但是用户浏览页面的时候不... // 设置布尔值用于判断是否该DIV到达过可视区域 var scrollflaga = true; // 监听滚

    JavaScript娇娆向日葵

    玩法:随着音乐节奏,点击左右按钮控制场景中人物...初始化UI(各种 Node 节点、倒计时组件、异步加载龙骨动画、动态加载预制资源) 判断是否授权,如果没有授权就动态创建button 游戏逻辑实现 游戏成绩上报 好友排行榜

    wind.js-API前端开发帮助文档(phpwind9.0版)

    传统上,我们加载JS文件都是使用[removed]标签:[removed][removed]。但是,它存在着严重的阻塞页面渲染问题,具体的阻塞原理请移步:浏览器内部工作原理或者google搜索:“页面阻塞渲染” 之类关键字。 wind.js...

    sea.js2.1.1版

    Sea.js 通过异步加载模块,这对页面性能非常有益。Sea.js 还提供了 combo、flush 等插件,配合服务端,可以很好地对页面性能进行调优。 跨环境共享模块。CMD 模块定义规范与 Node.js 的模块规范非常相近。通过 Sea...

    前端性能优化知识图谱指导

    JS性能优化是指在JavaScript代码的编写和执行过程中,通过一系列的优化策略和技术手段,提高代码的执行效率和性能,从而提升网页或应用程序的响应...使用异步加载:通过异步加载脚本文件、图片等资源,可以提高页面的

    基于JavaScript的前端ECharts图表可视化大屏开发案例源码+项目使用说明.zip

    这里仅是前端展示用,也可配合异步加载数据后重绘图表。 页面显示时钟、城市定位和天气。 除了常规图表,还引入geoJson和百度地图的两种平面地图模式、3D地球模式以及若干有意思的算命娱乐小图表。其中地图上有唐僧...

    基于vue封装的树形菜单.zip

    基于vue封装的树形菜单,已实现单选、复选、级联中选、单选前回调、单选事件、复选事件,异步加载等功能,简单好用,欢迎下载demo。 基于vue封装的树形菜单,已实现单选、复选、级联中选、单选前回调、单选事件、...

Global site tag (gtag.js) - Google Analytics