作者Fenikso (我是蜜蜂~)
看板Ajax
标题Re: [问题] .js可以网页取後,再include吗...
时间Mon Jan 1 04:13:20 2007
要动态载入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)