兼容的动态加载JS【原】】的更多相关文章

兼容的动态加载JS 屌丝就是悲剧,五一还得宅家里写程序专研技术. 说起动态加载JS,搞web的肯定不陌生,著名的YUI库就有强大的模块化的动态加载JS机制.在代码量不断庞大的今天,动态加载JS作用还是非常明显的.事实上这门技术已经非常古老了,可是发现网络上非常多资料也相同非常古老.诶,没法,自立更生吧,人生总要不断积累的,更何况作为一个程序员呢. 关于动态JS大家比較关注的无非就两点,兼容性怎样?怎样控制是同步还是异步?如今针对常见的4种方案来分析.前3种是异步的,最后1种是同步的. 方法1:…
一.代码示例: <html> <head> <meta http-equiv="Content-Type" content="text/html;charset=utf-8" /> <title>动态加载JS文件</title> </head> <body> <button id="btn" onclick="loanScript('test.js…
由于最近在弄echarts,关于地图类的效果,但是全国地图整体的js文件太大了,加载很耗费资源,所以要根据不同省份加载不同地区的js地图, 于是就想的比较简单, var script = document.createElement ("script") script.type = "text/javascript"; script.src = url; document.getElementsByTagName("head")[0].appen…
今天项目中需要用到动态加载 CSS 文件,经过一番折腾终于搞定,回家整理了一下,顺便融合了动态加载 JS 的功能写成了一个对象,先上代码: var dynamicLoading = { css: function(path){ ){ throw new Error('argument "path" is required !'); } ]; var link = document.createElement('link'); link.href = path; link.rel = '…
一个简单的动态加载js和css的jquery代码,用于在生成页面时通过js函数加载一些共通的js和css文件. //how to use the function below: //$.include('file/ajaxa.js');$.include('file/ajaxa.css'); //or $.includePath  = 'file/';$.include(['ajaxa.js','ajaxa.css']);(only if .js and .css files are in th…
开发过程中经常需要动态加载js和css,今天特意总结了一下常用的方法. 1.动态加载js 方法一:动态加载js文件 // 动态加载js脚本文件 function loadScript(url) { var script = document.createElement("script"); script.type = "text/javascript"; script.src = url; document.body.appendChild(script); } /…
实现OPOA(One Page One Application)时,必须使用动态加载js. 也就是在用户选择某个菜单项后,再动态加载对应的全部js到客户端. 动态加载js的情况很多啊,比如解决ajax跨域问题,就是动态载入一个js脚本. 本文给出的四个方法,前三个是异步加载js.就是js加载和当前js脚本执行是两个线程,先加载完还是先执行当前脚本是不确定的.在加载这些脚本的同时,主页面的脚本继续运行. 第四个办法尝试用XMLHTTP取得要脚本的内容,再创建 Script 对象.经过测试,仍然不能…
动态加载JS文件,并根据JS文件的加载状态来执行自己的回调函数, 在很多场景下,我们需要在动态加载JS文件的时候,根据加载的状态来进行后续的操作,需要在JS加载成功后,执行另一方法,这个方法是依托在加载的JS文件上的(调用了这JS里面的方法等等),此时就需要将这个方法作为JS加载后的回调函数进行执行 具体实例: JS 代码如下 function loadJs(loadUrl,callMyFun,argObj){ var loadScript=document.createElement('scr…
1.动态加载js function loadScript( url ){ var script = document.createElement( "script" ); script.type = "type/javascipt"; script.src = url; document.getElementsByTagName( "head" )[0].appendChild( script ); }; 2.动态加载CSS文件 function…
在正常的加载过程中,js文件的加载是同步的,也就是说在js加载的过程中,浏览器会阻塞接下来的内容的解析.这时候,动态加载便显得尤为重要了,由于它是异步加载,因此,它可以在后台自动下载,并不会妨碍其它内容的正常解析,由此,便可以提高页面首次加载的速度. 那么,既然js是异步加载,我们又该如何判断它是否加载完成呢? 在IE或一些基于IE内核的浏览器中(如Maxthon),它是通过script节点的readystatechange方法来判断的,而其它的一些浏览器中,往往是通过load事件来决定的,如下…