不使用script導(dǎo)入js文件的幾種方法
方法一:原生
adc.js內(nèi)容如下:
var hello = "H9";
html.html
<script>
var s = document.createElement("script");
s.src = "abc.js";
document.head.appendChild(s);
s.addEventListener("load",function(){
// 等待s的load事件加載完響應(yīng),防止未加載完就調(diào)用出錯
console.log(hello);
})
setTimeout(function(){//或者使用定時器保證其載入完后調(diào)用(不安全,不如監(jiān)聽事件好)
console.log(hello);
},1000);
// $.getScript("abc.js");
</script>
方法二:jquery.js
$.getScript("abc.js",function(){ alert("heheheh"); console.log(hello); });
<script type="text/javascript" src="../jquery.js"></script>
<script type="text/javascript">
$(function()
{
$('#loadButton').click(function(){
$.getScript('new.js',function(){
newFun('"Checking new script"');//這個函數(shù)是在new.js里面的,當(dāng)點擊click后運(yùn)行這個函數(shù)
});
});
});
</script>
</head>
<body>
<button type="button" id="loadButton">Load</button>
方法三:require.js
require.js分享2.1.1版本,注意是針對大項目使用,一邊情況下使用jquery即可。
index.html
<!--設(shè)置入口文件main 可以省略js-->
<script data-main="main" src="require.js"></script>
main.js
console.log("你好世界");
require(["js1","js2","js3"],function () {
// 是異步加載導(dǎo)入。js后綴可以省略
console.log("你們加載完了么?");
var total = num1+num2+num3;
console.log(total);
hello1();
hello2();
hello3();
})
使用requireJs可以很方便的導(dǎo)入js文件,但是要注意js文件中變量名方法名沖突的問題。 產(chǎn)生原因:瀏覽器js文件共用全局作用域,作用域中變量名方法名可能被覆蓋
相關(guān)文章
uniapp小程序底部tabbar圖標(biāo)大小設(shè)置辦法
這篇文章主要給大家介紹了關(guān)于uniapp小程序底部tabbar圖標(biāo)大小設(shè)置辦法的相關(guān)資料,在使用uniapp進(jìn)行開發(fā)時,tabbar是我們使用的很頻繁的一個組件,但是在特定的平臺會有一些使用上的限制,需要的朋友可以參考下2023-08-08
JS實現(xiàn)模擬百度搜索“2012世界末日”網(wǎng)頁地震撕裂效果代碼
這篇文章主要介紹了JS實現(xiàn)模擬百度搜索“2012世界末日”網(wǎng)頁地震撕裂效果代碼,引入第三方插件實現(xiàn)頁面的抖動、撕裂及圖片等效果,需要的朋友可以參考下2015-10-10
JavaScript數(shù)據(jù)結(jié)構(gòu)與算法之隊列原理與用法實例詳解
這篇文章主要介紹了JavaScript數(shù)據(jù)結(jié)構(gòu)與算法之隊列原理與用法,較為詳細(xì)的說明了隊列的概念、原理,并結(jié)合實例形式分析了javascript實現(xiàn)與使用隊列的相關(guān)操作技巧與注意事項,需要的朋友可以參考下2017-11-11
在B/S開發(fā)中經(jīng)常用到的JavaScript技術(shù)
javascript運(yùn)用中,經(jīng)常用到的代碼,建議每段代碼都要看下,注意本文有三頁,仔細(xì)看玩,逐個研究透徹,那么網(wǎng)頁中常見的問題,你也就熟悉掌握了2008-05-05

