问题描述
- 调用的js 为何取不到值?
-
代码:111.jsdocument.write("<script language='javascript' src='http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js&ip=222.5.142.25'></script>"); document.write("<script>var gj=remote_ip_info.country;</script>") var Url,kk,cHeight,cWidth,cReferrer,cPage,gj; Url="http://127.0.0.1:82/tj/cs_tjcs.asp"; kk="123" //gj=remote_ip_info.country; cHeight = screen.height; document.write("<script language=javascript src="+Url+"?kp="+kk+"&gj="+gj+"></script>");
此代码中,直接通过var gj=...无法获取值,通过document.write("var gj=remote_ip_info.country;")可以获取值,但是在最后一行代码调用时确无法取到值&gj="+gj+"。
通过document.write("var gj=remote_ip_info.country;")获取值后,可以通过document.write("alert(gj);")正确显示。
要求在最后一行代码中取到值,在线等大侠指教,谢谢!
解决方案
参考document.write, onload and variable scope issue
直接用document.write不能保证立即获得新浪的返回值,可能就会出现取不到值的问题。可以在script的onload时再调用后续代码
<script type="text/javascript">
var myLoader = function(filename, fun) {
var head = document.getElementsByTagName('head')[0],
script = document.createElement('script');
script.type= 'text/javascript';
script.src = filename;
if(typeof fun === 'function'){ script.onload = fun; }
head.appendChild(script);
};
myLoader("http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js&ip=222.5.142.25", function(){
var gj=remote_ip_info.country;
var Url,kk,cHeight,cWidth,cReferrer,cPage,gj;
Url="http://127.0.0.1:82/tj/cs_tjcs.asp";
kk="123"
//gj=remote_ip_info.country;
cHeight = screen.height;
console.log(gj);
myLoader(Url+"?kp="+kk+"&gj="+gj, function(){});
});
</script>
解决方案二:
js取htmlcheckbox值
js调用后台值
js取struts2的值
解决方案三:
document.write("<script language='javascript' src='http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js&ip=222.5.142.25'></script>");
document.write("<script>var gj=remote_ip_info.country;</script>")
<script>
var Url,kk,cHeight,cWidth,cReferrer,cPage,gj;
Url="http://127.0.0.1:82/tj/cs_tjcs.asp";
kk="123"
//gj=remote_ip_info.country;
cHeight = screen.height;
</script>
document.write("<script language=javascript src="+Url+"?kp="+kk+"&gj="+gj+"></script>");
时间: 2024-09-02 03:48:00