js加载速度慢怎么解决?

JavaScript07

js加载速度慢怎么解决?,第1张

解决办法:换一个js包含的方式,让javascript加载速度倍增。

把通常加载方式:

<script src="xxxx.js"></script>

改变成:

<script type="text/javascript">

document.write("<scr"+"ipt src=\"xxx.js\"></sc"+"ript>")

</script>

-------------------------------------

举个例子:

比如下面是申请的站长统计代码,以前尽管是把它放在页面的最底部,但还是拖累页面加载进度。

<script src="http://s69.cnzz.com/stat.php?id=265381&web_id=265381&show=pic" language="JavaScript" charset="gb2312"></script>

我们可以把它换成这样的方式来加载(任然放在页面最底部):

<<script type="text/javascript">>

document.write("<<scr"+"ipt src=\"http://69.cnzz.com/stat.php?id=2651&web_id=2681&show=pic\" language=\"JavaScript\" charset=\"gb2312\"></sc"+"ript>>")

<</script>>

速度快多了。

其它的js如法炮制,广告的,页面特效的。。。

最后再废话几句:

<<script type="text/javascript">>

document.write("<<scr"+"ipt src=\"xxx.js\"></sc"+"ript>>")

<</script>>

的方式,还可实现按需按条件的来加载你要的JS文件:

<<script type="text/javascript">>

if ( 心情好 ) {document.write("<<scr"+"ipt src=\"xxx.js\"></sc"+"ript>>")}

<</script>>

这样要是“心情不好”,就自然不会载入你不想要的JS文件了。

像这样行么?

<script type='text/javascript' src='http://www.ohvista.com/VeryIDE/VeryIDE_Config.js?rnd="+Math.random()+"'></script>

这样的文件其实是:

http://www.ohvista.com/VeryIDE/VeryIDE_Config.js?rnd="+Math.random()+"

这后面的随机数应该用服务端来写:(ASP,其实语言类似!)

<script type='text/javascript' src='http://www.ohvista.com/VeryIDE/VeryIDE_Config.js?rnd=<%=now()%>'></script>

或者用JS来载入JS:

var Obj=document.getElementsByTagName("HEAD")[0]

var script = document.createElement('SCRIPT')

script.src = Src+"?rnd="+Math.random()

script.type = "text/javascript"

Obj.appendChild(script)

建议你观察下页面内资源的加载时间,同时在页面中打开多个js文件主要耗时为TTFB,主要耗时为「等待某个js加载渲染完成」+「等待dns解析时间」+「浏览器的pending策略」等。你在页面内同步加载了多个js资源,所以下载速度的不可控是正常的。

因为JS在执行的时候会影响到页面的DOM和样式等情况。浏览器在解析渲染HTML的时候,如果解析到需要下载文件的script标签,那么会停止解析接下来的HTML,然后下载外链JS文件并执行。减少 JavaScript 对性能的影响有以下几种方法:1、将所有的