若只是单单客户端的变量共用的话,用一个页面级全局变量,新加载的abc.js也可以直接调用到即:
page:
var global = "meizz"abc.js:
alert(global); //不需要回传到服务器端若你的变量要回传给服务器,并且在服务器端需要用到这个变量的话,建议你使用一个动态网页作为<script src="abc.asp?id=123"> 这样只要 abc.asp 输出的内容是JS代码就行了,这样就可以达到即将变量回传给服务器,也可以正确地加载JS代码。
page:
var global = "meizz"abc.js:
alert(global); //不需要回传到服务器端若你的变量要回传给服务器,并且在服务器端需要用到这个变量的话,建议你使用一个动态网页作为<script src="abc.asp?id=123"> 这样只要 abc.asp 输出的内容是JS代码就行了,这样就可以达到即将变量回传给服务器,也可以正确地加载JS代码。
<script language="jscript">
var str="hello";
</script>
<script src="abc.js"></script>
……
<input type=button onclick=alert(str) value=点我/>
……
----abc.js中:
……
function newStr() {
str=str+" world";
}
……
比如<script src=abc.js?name=meizz></script>
来调用我服务断的abc.js 并且把name=meizz传到abc.jc里
我的abc.js怎么来接受这个值并且把他赋值给全局变量
小弟刚接触js请大家说的白一点。我都急出病来了。
abc.php
///////////////
alert("<?=$_GET['name']?>");asp:
abc.asp
''''''''''''''''
alert(<%=Request.QueryString("name")%>);
show.htm
////////////////////
<script src="abc.php?name=meizz"></script>
<script src="abc.asp?name=meizz"></script>
show.htm
////////////////
<script id="_name" src="abcde.js?name=meizz"></script>
<script id="_name2" src="abcdef.js?name=meizz&id=1"></script>abcde.js
//////////////////para asName String:要得到的参数名
//para lsURL String:要处理的URL值
//这个函数是在html传参数函数基础上改的
function getUrlParameterAdv(asName,lsURL){ loU = lsURL.split("?");
if (loU.length>1){ var loallPm = loU[1].split("&"); for (var i=0; i<loallPm.length; i++){
var loPm = loallPm[i].split("=");
if (loPm[0]==asName){
if (loPm.length>1){
return loPm[1];
}else{
return "";
}
}
}
}
return null;
}
//_name是包含此文件的<script>的id值
var v = document.getElementById("_name");
//下面的name是url中的参数名
alert(getUrlParameterAdv("name",v.getAttribute('src')));
abcdef.js
////////////////
//传递两个参数name和id也可以
try{
var v2= document.getElementById("_name2");
alert("second:\n name="+getUrlParameterAdv("name",v2.getAttribute('src'))+"\n"+"id="+getUrlParameterAdv("id",v2.getAttribute('src')));}
catch(e){
alert(v2);
}