當前位置:
首頁 >
前端技术
> javascript
>内容正文
javascript
动态加载JS脚本【转】
生活随笔
收集整理的這篇文章主要介紹了
动态加载JS脚本【转】
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
原文:http://mario-design.iteye.com/blog/147810
要實現動態加載JS腳本有4種方法:
1、直接document.write
注意document.write中的<\/script>,斜杠要轉義
2、動態改變已有script的src屬性
3、動態創建script元素
這三種方法都是異步執行的,也就是說,在加載這些腳本的同時,主頁面的腳本繼續運行,如果用以上的方法,那下面的代碼將得不到預期的效果。
要動態加載的JS腳本:a.js,以下是該文件的內容。
主頁面代碼:
<script language="JavaScript"> function LoadJS( id, fileUrl ) { var scriptTag = document.getElementById( id ); var oHead = document.getElementsByTagName('HEAD').item(0); var oScript= document.createElement("script"); if ( scriptTag ) oHead.removeChild( scriptTag ); oScript.id = id; oScript.type = "text/javascript"; oScript.src=fileUrl ; oHead.appendChild( oScript); } LoadJS( "a.js" ); alert( "主頁面動態加載a.js并取其中的變量:" + str ); </script>上述代碼執行后 a.js 的 alert 執行并彈出消息,
?
但是 主頁面產生了錯誤,沒有彈出對話框。原因是 'str' 未定義,為什么呢?因為主頁面在取 str 的時候 a.js 并沒有完全加載成功。遇到需要同步執行腳本的時候,可以用下面的第四種方法。
4、原理:用XMLHTTP取得要腳本的內容,再創建 Script 對象。
注意:a.js必須用UTF8編碼保存,要不會出錯。因為服務器與XML使用UTF8編碼傳送數據。
主頁面代碼:
現在完成了一個JS腳本的動態加載。
轉載于:https://www.cnblogs.com/walkerwang/archive/2011/06/01/2067129.html
總結
以上是生活随笔為你收集整理的动态加载JS脚本【转】的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 女人梦到鳄鱼什么预兆
- 下一篇: JavaScript窗体控制函数