动态加载js的问题 FF出现问题

hitlcyu19 2009-10-19 05:13:40
js中:
function getLang(callback) {
//debugger;
var node = document.createElement("script");
if (node.addEventListener) {
node.addEventListener("load", callback, false);
}
else {
node.onreadystatechange = function() {
if (this.readyState == "complete")
callback.call(this);
}
if (window.navigator.systemLanguage=="zh-cn") {
node.type = "text/javascript";
node.src = "js/Drv_Lang_cn.js";
}
else if (window.navigator.systemLanguage=="zh-tw") {
node.src = "js/Drv_Lang_cn.js";
}
else if (window.navigator.systemLanguage=="en") {
node.src = "js/Drv_Lang_cn.js";
}
document.getElementsByTagName("head").item(0).appendChild(node);
node = null;
}
}

html中:
<body onload="getLang(function() {setter();});">

现在在IE中是可以正常的,但是在ff下却出现了问题,当执行的时候查看callback是error的
...全文
113 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
sundotLei 2009-10-20
  • 打赏
  • 举报
回复
不明白你说的意思,以下代码是原有基础上修改了一点,body里放了div,可以运行.


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
<SCRIPT LANGUAGE="JavaScript">
<!--
function getLang(callback) {
//debugger;
var node = document.createElement("script");
if (node.addEventListener) {
node.addEventListener("load", callback, false);
}
else {
node.onreadystatechange = function() {

if (this.readyState == "loaded" ||this.readyState=="complete")
callback.call(this);
}
}
var wn=window.navigator;

if (wn.systemLanguage=="zh-cn" || wn.language=="zh-CN") {
node.type = "text/javascript";
node.src = "http://counter.csdn.net/a/js/AreaCounter.js";
}
else if (wn.systemLanguage=="zh-tw" || wn.language=="zh-TW") {
node.type = "text/javascript";
node.src = "http://counter.csdn.net/a/js/AreaCounter.js";

}
else if (wn.systemLanguage=="en" || wn.language=="zh-EN") {

node.src = "http://counter.csdn.net/a/js/AreaCounter.js";
}
document.getElementsByTagName("head").item(0).appendChild(node);
node = null;

}

//-->
</SCRIPT>
</HEAD>

<BODY onload="getLang(function(){alert('test ok')})">
<div style="width:200px;height:300px;border:1px solid;"></div>
</BODY>
</HTML>
hitlcyu19 2009-10-20
  • 打赏
  • 举报
回复
现在在调用getLang(callback)的时候显示callback error ...
hitlcyu19 2009-10-20
  • 打赏
  • 举报
回复
还有就是这个页面我是放到frameset中的 不知道是否有影响
hitlcyu19 2009-10-20
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 sundotlei 的回复:]
FF中不支持systemLanguage

以下js在FF中测试正常

JScript codefunction getLang(callback) {//debugger;var node= document.createElement("script");if (node.addEventListener) {
node.addEventListener("load", callback,false);
}else {
node.onreadystatechange=function() {if (this.readyState=="loaded")
callback.call(this);
}
}var wn=window.navigator;if (wn.systemLanguage=="zh-cn"|| wn.language=="zh-CN") {
node.type="text/javascript";
node.src="http://counter.csdn.net/a/js/AreaCounter.js";
}elseif (wn.systemLanguage=="zh-tw"|| wn.language=="zh-TW") {
node.type="text/javascript";
node.src="http://counter.csdn.net/a/js/AreaCounter.js";
alert('tw');
}elseif (wn.systemLanguage=="en"|| wn.language=="zh-EN") {
alert('en');
node.src="http://counter.csdn.net/a/js/AreaCounter.js";
}
document.getElementsByTagName("head").item(0).appendChild(node);
node=null;

}
[/Quote]我测试过了 的确测试可以通过 但是当在body中添加了div的时候就不能调用了 急等!!!
fengsky491 2009-10-20
  • 打赏
  • 举报
回复
学习
sundotLei 2009-10-19
  • 打赏
  • 举报
回复
FF中不支持systemLanguage

以下js在FF中测试正常


function getLang(callback) {
//debugger;
var node = document.createElement("script");
if (node.addEventListener) {
node.addEventListener("load", callback, false);
}
else {
node.onreadystatechange = function() {
if (this.readyState == "loaded")
callback.call(this);
}
}
var wn=window.navigator;
if (wn.systemLanguage=="zh-cn" || wn.language=="zh-CN") {
node.type = "text/javascript";
node.src = "http://counter.csdn.net/a/js/AreaCounter.js";
}
else if (wn.systemLanguage=="zh-tw" || wn.language=="zh-TW") {
node.type = "text/javascript";
node.src = "http://counter.csdn.net/a/js/AreaCounter.js";
alert('tw');
}
else if (wn.systemLanguage=="en" || wn.language=="zh-EN") {
alert('en');
node.src = "http://counter.csdn.net/a/js/AreaCounter.js";
}
document.getElementsByTagName("head").item(0).appendChild(node);
node = null;

}

87,910

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧