您的位置:首页 > 编程语言 > Python开发

简明 Python 教程

2010-06-18 14:40 483 查看
scriptaculous通过这种方式
<script src="scriptaculous.js?load=effects,dragdrop" type="text/javascript"></script>
实现js加载。
根据这个思想,编了个实现类似功能载入器,发现个问题ie,和firefox对"?"处理不同
本想实现root.js?load=但是经过调试发现firefox可以正常运行,ie则显示空白。?换成#则可以了。郁闷了,
哪位知道如何让ie能处理root.js?load=形式呢?

root.js
/*
* head下嵌入如下代码,实现prototype1.5.js,check.js的载入
* <script src="js/root.js#load=prototype1.5,check" type="text/javascript" dir="js/test"></script>
*
* */
(function (){
var jsDir=null;
var stag = document.getElementsByTagName("script");
stag=stag[stag.length-1];
var url = stag.getAttribute("src"); //"js/root.js#load=prototype,check"
var dir = stag.getAttribute("dir");// 载入js目录(可选参数)  "js/test"
var jspath; //js路径  :"js/"
var jsimps;//导入的js文件名:"prototype,check"
var impjs; //<script type="text/javascript src="prototype1.5.js"></script>;
var jstag = "<script type=\"text/javascript\" src=\"";
if(url.indexOf("#")==-1){
alert("载入错误");
}else{
url=url.replace("root.js", "");
var urlarr=url.split("#load=");
if(dir){
jspath=urlarr[0]+dir+"/";
}else{
jspath =urlarr[0];
}
if(urlarr[1].indexOf(",")==-1){
jstag+=jspath+urlarr[1]+".js\"><\/script>";
document.write(jstag);
}else{
jsimps = urlarr[1].split(",");
for(i in jsimps){
impjs=jstag+jspath+jsimps[i]+".js\"><\/script>";
document.write(impjs);
}

}

}
})();
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: