动态加载JS,并执行回调函数】的更多相关文章

这个问题的产生原因是:我们项目有一个主index文件,在主index文件中需要根据参数来判断是加载pc.html的内容还是加载mobile.html的内容,一开始是使用jquery来做的,没有问题,后来想着jquery也有80多k就想着优化下,结果将所有有$的地方都转为原生的js代码,js,css,dom也都加载正常,就是页面显示不出来,动态加载的js没有执行,查了很长时间才找到方案,如上图:…
function loadJS(url, success) { var domScript = document.createElement('script'); domScript.src = url; success = success || function () {}; domScript.onload = domScript.onreadystatechange = function () { if (!this.readyState || 'loaded' === this.read…
动态加载JS文件,并根据JS文件的加载状态来执行自己的回调函数, 在很多场景下,我们需要在动态加载JS文件的时候,根据加载的状态来进行后续的操作,需要在JS加载成功后,执行另一方法,这个方法是依托在加载的JS文件上的(调用了这JS里面的方法等等),此时就需要将这个方法作为JS加载后的回调函数进行执行 具体实例: JS 代码如下 function loadJs(loadUrl,callMyFun,argObj){ var loadScript=document.createElement('scr…
一般性的,当我们需要加载js文件的时候都会使用script标签来实现,类似于如下代码: 代码如下: <script type="text/javascript" src="example.js"></script> 但是直接使用script标签来加载js文件会有如下一些缺点: 1.严格的读取顺序.由于浏览器按照<script>在网页中出现的顺序,读取Javascript文件,然后立即运行,导致在多个文件互相依赖的情况下,依赖性最小…
2.动态加载JS文件 <script type="text/javascript"> function loadScript(url, callback) { var script = document.createElement("script"); script.type = "text/javascript"; if(typeof(callback) != "undefined"){     if (scri…
1.[基本优化] 将所有需要的<script>标签都放在</body>之前,确保脚本执行之前完成页面渲染而不会造成页面堵塞问题,这个大家都懂. 2.[合并JS代码,尽可能少的使用script标签] 最常见的方式就是带代码写入一个js文件中,让页面只使用一次<script></script>标签来引入 3.[使用async和defer] 通过给script标签增加 defer属性或者是 async 属性来实现,async和defer不同之处是async加载完成…
转载自http://www.jb51.net/article/31973.htm 有许多朋友需要使用getScript方法动态加载JS,本文将详细介绍此功能的实现方法     $.getScript(url,callback)  这个方法是jquery自身提供的一个用于动态加载js的方法.当网站需要加载大量js时,动态的加载js就是一个比较好的方法,当需要某个功能时再将相应的js加载进来. 但是自己在使用过程中却发现了一些不尽如意的地方. 每次需要执行该功能的时候都会去请求一次这个js,这样不是…
*****************记录下今天的心得***************** 1.元素的插入顺序 需求:异步从后台读取两个数据a和b,并动态加载到父容器x中,要求a必须在b的左边 实际情况:一开始是用x.append(...)的方法将a.b添加进去,由于是异步加载,查询速度快的请求自然会先显示在页面中的左边,于是最终列表中,a.b是忽左忽右的. 解决办法:使用 a.prependTo(x) 函数,应该好理解,就是始终把a插入到x的最前面. 2.动态加载js 需求:页面加载完毕后,设置页面…
有许多朋友需要使用getScript方法动态加载JS,本文将详细介绍此功能的实现方法 $.getScript(url,callback) 这个方法是jquery自身提供的一个用于动态加载js的方法.当网站需要加载大量js时,动态的加载js就是一个比较好的方法,当需要某个功能时再将相应的js加载进来. 但是自己在使用过程中却发现了一些不尽如意的地方. 每次需要执行该功能的时候都会去请求一次这个js,这样不是在帮倒忙嘛? 于是找到Jquery官网的API说明 http://api.jquery.co…
实现OPOA(One Page One Application)时,必须使用动态加载js. 也就是在用户选择某个菜单项后,再动态加载对应的全部js到客户端. 动态加载js的情况很多啊,比如解决ajax跨域问题,就是动态载入一个js脚本. 本文给出的四个方法,前三个是异步加载js.就是js加载和当前js脚本执行是两个线程,先加载完还是先执行当前脚本是不确定的.在加载这些脚本的同时,主页面的脚本继续运行. 第四个办法尝试用XMLHTTP取得要脚本的内容,再创建 Script 对象.经过测试,仍然不能…