原本页面中部有一个<div id="dt"><script src="dsfds.js"></script></div>.这个script里面的内容是一条 document.write("xxxxxxxxx")语句。现在的想法是在页面完成后,再执行此script. 并且此script的内容不能修改。各位大侠,有没有什么好方法, 或者不用jquery也行。最好能说的详细点,多谢。
调试欢乐多
document.write的后果就是页面空白。。页面的内容会全部丢失
因为你打开了一个新的文档流
var Browser = new Object();// 浏览器对象,判断浏览器版本
Browser.ua = window.navigator.userAgent.toLowerCase();
Browser.ie = /msie/.test(Browser.ua);//IE
Browser.moz = /gecko/.test(Browser.ua);//firefox
Browser.tt = /tencent/.test(Browser.ua);//tt
var JsLoader = {
load : function(sUrl, fCallback) // js装载对象
{
var _script = document.createElement("script");
_script.setAttribute("type", "text/javascript");
_script.setAttribute("src", sUrl);
document.getElementsByTagName("head")[0].appendChild(_script);
if (Browser.ie) {
_script.onreadystatechange = function() {
if (this.readyState == "loaded"
|| this.readyState == "complete") {
fCallback();
}
};
} else if (Browser.moz) {
_script.onload = function() {
fCallback();
};
} else {
fCallback();
}
}
};
//调用
JsLoader.load("dsfds.js", function() {});
腾讯上扣的。
<head>
<script>
function exec(){
var script = document.createElement('script');
script.setAttribute('type', 'text/javascript');
script['src'] = "dsfds.js";
document.getElementById("dt").appendChild(script);
};
onload = function(){exec();}
</script>
</head>
</html>
在onload里调用,或者在$(document).ready(function(){......;exec();});这个方法写在ready运行的最后
原本页面中部有一个<div id="dt"><script src="dsfds.js"></script></div>
把上面这句改为<div id="dt"></div>
麻烦的就是这个地方,并且此script中的document.write是另外的生成的,改不了。晕啊。
window.onload=function(){
setTimeout("
var script = document.createElement('script');
script.setAttribute('type', 'text/javascript');
script.src = "jsName.js";
document.getElementsByTagName("head")[0].appendChild(_script);
",2000);//这段是指延迟2秒加载这个js
}