用JS實現(xiàn)的一個include函數(shù)
更新時間:2007年07月21日 00:00:00 作者:
很多語言都有類似php中的include和require功能的函數(shù),而唯獨javascript沒有。
很早就想在js中實現(xiàn)類似的功能,嘗試了很多次都沒有成功,那天在google上搜索一些關于動態(tài)加載css文件的關鍵詞時,發(fā)現(xiàn)一個blog(地址找不到了)上的一個為網(wǎng)頁的head標簽增加link元素的函數(shù),于是就改了一下,寫了這個函數(shù)。
用法:
include_js(src,[reload]);
src: js文件的路徑名
reload:可選參數(shù),0或1,表示是否重復加載同一個url的js文件。
說明:
當包含的js文件中有document.write方法時,在IE下沒有反應,但在Mozilla Firefox 下就會讓你原來的網(wǎng)頁消失,只顯示document.write出來的內容:mad:
嘿嘿,對于這個問題,我自然有妙招:
就是重定義 document.write方法,讓他不顯示任何東西。具體做法:
在 include_js 之前加上這句
document.write = function () { return false;}
這樣,就算include過來的js文件含有document.write方法我們也不怕它破壞網(wǎng)頁了!:lol::lol:
用途:
本函數(shù)可以用于一些廣告和統(tǒng)計的js文件異步加載,避免了因加載js文件而造成的網(wǎng)頁顯示速度慢的問題。
將此函數(shù)修改一下便可以動態(tài)加載css文件,不過用處就沒有加載js文件的大。
function include_js(path,reload)
{
var scripts = document.getElementsByTagName("script");
if (!reload)
for (var i=0;i<scripts.length;i++)
if (scripts[i].src && scripts[i].src.toLowerCase() == path.toLowerCase() ) return;
var sobj = document.createElement('script');
sobj.type = "text/javascript";
sobj.src = path;
var headobj = document.getElementsByTagName('head')[0];
headobj.appendChild(sobj);
}
很早就想在js中實現(xiàn)類似的功能,嘗試了很多次都沒有成功,那天在google上搜索一些關于動態(tài)加載css文件的關鍵詞時,發(fā)現(xiàn)一個blog(地址找不到了)上的一個為網(wǎng)頁的head標簽增加link元素的函數(shù),于是就改了一下,寫了這個函數(shù)。
用法:
include_js(src,[reload]);
src: js文件的路徑名
reload:可選參數(shù),0或1,表示是否重復加載同一個url的js文件。
說明:
當包含的js文件中有document.write方法時,在IE下沒有反應,但在Mozilla Firefox 下就會讓你原來的網(wǎng)頁消失,只顯示document.write出來的內容:mad:
嘿嘿,對于這個問題,我自然有妙招:
就是重定義 document.write方法,讓他不顯示任何東西。具體做法:
在 include_js 之前加上這句
document.write = function () { return false;}
這樣,就算include過來的js文件含有document.write方法我們也不怕它破壞網(wǎng)頁了!:lol::lol:
用途:
本函數(shù)可以用于一些廣告和統(tǒng)計的js文件異步加載,避免了因加載js文件而造成的網(wǎng)頁顯示速度慢的問題。
將此函數(shù)修改一下便可以動態(tài)加載css文件,不過用處就沒有加載js文件的大。
復制代碼 代碼如下:
function include_js(path,reload)
{
var scripts = document.getElementsByTagName("script");
if (!reload)
for (var i=0;i<scripts.length;i++)
if (scripts[i].src && scripts[i].src.toLowerCase() == path.toLowerCase() ) return;
var sobj = document.createElement('script');
sobj.type = "text/javascript";
sobj.src = path;
var headobj = document.getElementsByTagName('head')[0];
headobj.appendChild(sobj);
}
相關文章
js實現(xiàn)增加數(shù)字顯示的環(huán)形進度條效果
本文主要分享了js實現(xiàn)增加數(shù)字顯示的環(huán)形進度條效果的示例代碼。具有一定的參考價值,下面跟著小編一起來看下吧2017-02-02javascript高級模塊化require.js的具體使用方法
本篇文章主要介紹了javascript高級模塊化require.js的具體使用方法,非常具有實用價值,需要的朋友可以參考下2017-10-10使用do...while的方法輸入一個月中所有的周日(實例代碼)
下面小編就為大家?guī)硪黄褂胐o...while的方法輸入一個月中所有的周日(實例代碼)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-07-07JS生成隨機數(shù)的多種方法匯總(不同范圍、類型的隨機數(shù))
js產生隨機數(shù)通常是使用javascript的Math.random()函數(shù),下面這篇文章主要給大家介紹了關于JS生成隨機數(shù)的多種方法(不同范圍、類型的隨機數(shù))的相關資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下2022-11-11