Re: [問題] .js可以網頁取後,再include嗎...
要動態載入code的話我會這樣做:
通常要被import的東西會是一堆function或是class的定義
用一個object把他們包起來 變成像這樣的東西
XXX = {
f: function(x) {alert(x);},
g: function(x) {alert(2*x);}
}
然後網頁上面這樣寫
function import(src) {
if(window.ActiveXObject) {
var ajax = new ActiveXObject("Msxml2.XMLHTTP");
}
else {
var ajax = new XMLHttpRequest();
}
ajax.open("GET", src, false);
ajax.send("");
return eval(ajax.responseText);
}
packagename = import("XXX.js");
以後只要用packagename.f() packagename.g()之類的就行了
---
用object包起來只是個人習慣,因為這樣比較類似某些語言import的概念
不接在網頁後面是因為不知道自己哪天會寫出document.body.lastChild之類的爛code
到時候就會出事
還有不要動到網頁結構我覺得比較好
(雖然也可以掛上去再remove掉啦..)
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.136.197.54
※ 編輯: Fenikso 來自: 220.136.197.54 (01/01 04:16)
討論串 (同標題文章)
完整討論串 (本文為第 10 之 10 篇):
Ajax 近期熱門文章
PTT數位生活區 即時熱門文章