jQuery動(dòng)態(tài)加載JS以減少服務(wù)器壓力
如果您要?jiǎng)?chuàng)建一個(gè)web2.0的應(yīng)用程序,那么你的網(wǎng)頁(yè)會(huì)包括大量的JavaScript文件,這些可能會(huì)拖慢您的網(wǎng)頁(yè)。因此,動(dòng)態(tài)加載JavaScript代碼到您的網(wǎng)頁(yè)是一個(gè)好主意,即只有當(dāng)實(shí)用他們的時(shí)候加載它們。這種策略可以幫助你減少你的網(wǎng)頁(yè)的加載時(shí)間。
幸運(yùn)的是,jQuery提供了一個(gè)內(nèi)置的實(shí)用函數(shù),$getScript()為我們提供了這樣的方法。來(lái)實(shí)現(xiàn)在網(wǎng)頁(yè)動(dòng)態(tài)的功能。來(lái)看看這個(gè)函數(shù)的語(yǔ)法:
- $.getScript(url,callback)
獲取url參數(shù)所指定的腳本,使用一個(gè)GET請(qǐng)求到指定的服務(wù)器
Parameters
URL()獲取腳本文件的URL。
callback (Function)可選函數(shù) 調(diào)用腳本文件加載后里面的函數(shù)
具體實(shí)現(xiàn)過(guò)程是
從資源加載文本
如果字符串成功
返回XHR實(shí)例,用來(lái)獲取腳本。
如何使用呢看下面的方法
我們創(chuàng)建一個(gè)new.js 腳本文件
- var testVar = 'New JS loaded!';
- alert(testVar);
- function newFun(dynParam)
- {
- alert('You just passed '+dynParam+ ' as parameter.');
- }
HTML代碼
- <html>
- <head>
- <title> $.getScript Example</title>
- <script type="text/javascript" src="../jquery.js"></script>
- <script type="text/javascript">
- $(function()
- {
- $('#loadButton').click(function(){
- $.getScript('new.js',function(){
- newFun('"Checking new script"');//這個(gè)函數(shù)是在new.js里面的,當(dāng)點(diǎn)擊click后運(yùn)行這個(gè)函數(shù)
- });
- });
- });
- </script>
- </head>
- <body>
- <button type="button" id="loadButton">Load</button>
- </body>
- </html>
上述代碼當(dāng)中我們創(chuàng)建一個(gè)new.js的腳本文件,在body部分當(dāng)button函數(shù)觸發(fā)的時(shí)候調(diào)用它,這樣做的好處是減少服務(wù)器壓力,是非常值得推薦的。
原文鏈接:http://www.cnblogs.com/58top/archive/2012/10/29/loading-javascript-dynamically-using.html