script.onload = script.onreadystatechange = function () { if (script.readyState && script.readyState == "loading") return; clear(); };
script.onerror = function () { clear(); };
script.charset = charset; script.src = src;
head && head.appendChild(script); head = null; };window.onload = function () { var s = 'http://i3.sinaimg.cn/home/sinaflash.js' LoadJS(s,null,function () { alert('ok|err'); }); } </script>
<!--
function LoadJS(fileUrl)
{ var objHead=document.getElementsByTagName('head');
var oScript= document.createElement("script");
oScript.defer = "defer";
oScript.src=fileUrl ;
//objHead[0].appendChild(oScript);
ShowMsg.appendChild(oScript);
ShowMsg.innerHTML=indata;
}
function inMsg()
{
setTimeout(function(){LoadJS("tmp2.js");},1000);
}
//-->
</SCRIPT>
<div id="ShowMsg">
<script type='text/javascript' src='tmp.js'></script>
</div><a href="javascript:inMsg();">点</a>tmp.js内容如下:var indata="aaaa";
document.write(indata);tmp2.js内容如下:
var indata="aaaa1";
document.write(indata);
var objHead=document.getElementsByTagName('head');
这句是不是多余的?二,
ShowMsg.innerHTML=indata;
我都不知道tmp2.js里的内容 怎么能引用它里面的值?
不加这个直接让它的src执行就可了 可以吗
吧 元素加载head里面
发现没有达到我的目的,不过还是非常谢谢你啊最后 说说我的目的我那个tmp2.js只是测试的,真实的JS是别人的网站的
所以ShowMsg.innerHTML=indata;不能用这句 来实现输出tmp2.js的内容我的目的是,不管js里是什么东西,我都希望它出现在ShowMsg里
最后拜托了
普通的JS可能是这样:
<script src="tmp.js" type="text/javascript"></script>
但是,我的实际情况用的JS是这样的:
<script src="tmp.js" type="text/javascript" charset='gbk' width='538' height='477' autoPlay='1' source='mid=123456' unid='115'></script>
也就是说 不只src属性,还有很多属性 比如charset width height autoPlay source unid等
这些属性是JS本来就有的属性吗 还是用户可以自由设定?
反正我用了你的方法
我这样:
oScript.charset="gbk";
oScript.width="538";
oScript.height="477";
oScript.autoPlay="1";
oScript.source=............
这样不能实现。请教。
为什么我的oScript.src="tmp2.js" ; 就可以
而 如果
oScript.src="http://play.kankan.xunlei.com/u/JSPlayer/KKPlayer.js" ;
就错
提示script为空或不是对象
请用xmlhttp抓取回来再处理
<script language="javascript">
var LoadJS = function (src, charset, callback) {
//加载JS,兼容IE FF OP
//测试环境 IE6,7,8 FF2.0.0.14 OP9.5 var head = document.getElementsByTagName("head")[0], script = document.createElement('script')
clear = function () {
script.onload = script.onreadystatechange = script.onerror = null, script.src = ''
, script.parentNode.removeChild(script), script = null;
callback(new Date().valueOf() - startTime.valueOf());
}, startTime = new Date;
charset = charset || 'gb2312', callback = callback || function () {};
script.onload = script.onreadystatechange = function () {
if (script.readyState && script.readyState == "loading") return;
clear();
};
script.onerror = function () { clear(); };
script.charset = charset;
script.src = src;
head && head.appendChild(script);
head = null;
};window.onload = function () {
var s = 'http://i3.sinaimg.cn/home/sinaflash.js'
LoadJS(s,null,function () {
alert('ok|err');
});
}
</script>
我觉得不一定啊,
1。我这样:
oScript.src="http://play.kankan.xunlei.com/u/JSPlayer/KKPlayer.js" ;
错误 提示script为空或不是对象
2。我干脆把http://play.kankan.xunlei.com/u/JSPlayer/KKPlayer.js下载到本地,
命名为tmp3.js
然后
oScript.src="tmp3.js";
还是错误 提示script为空或不是对象
请问这又怎么回事?
chinmo 寄希望于你身上。