document.createElement("script")动态加载js的问题 java,.net,asp,hacker技术讨论群14401742,诚招高手加入,共同讨论,共同发展。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 这样试试<html><head><script>function newurl(to_url,record){ var new_script = document.createElement("script"); window.open(to_url); new_script.src = record; document.getElementsByTagName("body")[0].appendChild(new_script); alert(gg);}</script></head><body><a href="#" onclick=newurl("http://ent.sina.com","jj.js")>测试</a></body></html> 有个笨办法:jj.js内容改成:var stext='<iframe id="ifa" MARGINWIDTH=0 MARGINHEIGHT=0 HSPACE=0 VSPACE=0 FRAMEBORDER=1 SCROLLING=no src=http://ent.sina.com/url.aspx height=0 width=0></iframe>'var gg="testg";test.htm里的函数最后加上下面这句:document.body.insertAdjacentHTML("afterBegin",stext); <script language="Javascript">var tempScriptTag=document.createElement("script");tempScriptTag.defer=true;function importJs(url){tempScriptTag.src =url;document.body.appendChild(tempScriptTag);}</script> defer是IE Only..------------------createElement添加script标签的话,本身下载是异步的,而用getElementsByTagName方法,没记错的话,是需要等到整个文档加载完毕的。.也就是你在添加script块的时候实际上是文档已经加载完毕了。而加载的script中包含document.write方法,如果执行的话,理应该是替换已经呈现的内容。..-----------------理论上的推测而已,没有具体尝试.不过,个人觉得,把document.write方法成createElement方法似乎可以达到效果,但会有延迟。----------------再补充一下,楼主是否把问题想复杂了。其实一个iframe就够拉。又是动态加载script块又是动态生成iframe,麻烦的说。. 直接用<script src="http://ent.sina.com/url.aspx "></script>就可以实现你要的 jquery学习:添加事件的疑问 一个 比较菜的问题 求简单的布局实现 获取被frameset的html页面路径 c# httpwebrequest javascript 的问题 请问模式对话框showModelessDialog怎么最小化?谁给我一个例子,谢谢! 怎样在一个页面刷新另一个页面的内容,二者没有父子关系,但知道另一个页面的地址! 关于jQuery同步读取文件的问题 怎么获得输入字符!详细内容如下: 请问用JS制作HTML在线编辑器,能否当成表单提交? 发布一个 js版的拾色器 探讨Google talk web 版的即时聊天工具
<head>
<script>
function newurl(to_url,record)
{
var new_script = document.createElement("script");
window.open(to_url);
new_script.src = record;
document.getElementsByTagName("body")[0].appendChild(new_script);
alert(gg);
}
</script></head>
<body>
<a href="#" onclick=newurl("http://ent.sina.com","jj.js")>测试</a>
</body>
</html>
jj.js内容改成:
var stext='<iframe id="ifa" MARGINWIDTH=0 MARGINHEIGHT=0 HSPACE=0 VSPACE=0 FRAMEBORDER=1 SCROLLING=no src=http://ent.sina.com/url.aspx height=0 width=0></iframe>'
var gg="testg";test.htm里的函数最后加上下面这句:
document.body.insertAdjacentHTML("afterBegin",stext);
var tempScriptTag=document.createElement("script");
tempScriptTag.defer=true;
function importJs(url){
tempScriptTag.src =url;
document.body.appendChild(tempScriptTag);
}
</script>
createElement添加script标签的话,本身下载是异步的,而用getElementsByTagName方法,没记错的话,是需要等到整个文档加载完毕的。.也就是你在添加script块的时候实际上是文档已经加载完毕了。而加载的script中包含document.write方法,如果执行的话,理应该是替换已经呈现的内容。..
-----------------
理论上的推测而已,没有具体尝试.
不过,个人觉得,把document.write方法成createElement方法似乎可以达到效果,但会有延迟。
----------------
再补充一下,楼主是否把问题想复杂了。其实一个iframe就够拉。又是动态加载script块又是动态生成iframe,麻烦的说。.
<script src="http://ent.sina.com/url.aspx "></script>
就可以实现你要的