浏览 7786 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2006-12-07
如:function responseResult(req) { document.getElementById("result").innerHTML = req.responseText; /*responseText中包含css和javascript脚本*/ } <div id="result"> </div> 请问诸位该如何解决这个问题?急 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2006-12-08
的确不会起作用的,req.responseText中的js封装成函数,写在发起请求的页面中,然后在执行完innerHTML=req.responseText后,把函数和新的到的某个dom元素的事件关联上
|
|
返回顶楼 | |
发表时间:2006-12-08
你吧那个JS写在包含“<div id="result"> “的页面中试试。
css应该会显示,我也是用”document.getElementById("result").innerHTML = req.responseText; “这种方式处理的,它的CSS都起作用了, |
|
返回顶楼 | |
发表时间:2006-12-08
给你段函数琢磨去吧。
关于css,没必要重新加载,因为“父窗体”很可能包含这个css了,如果跨域网页,引入css比引入js文件危险的多,可能会破坏你的布局。 但引入js也是有危险的。 from http://www.jackslocum.com/ update : function(html, loadScripts){ this.dom.innerHTML = html; if(!loadScripts) return; var dom = this.dom; var _parseScripts = function(){ var s = this.dom.getElementsByTagName("script"); var docHead = document.getElementsByTagName("head")[0]; // For browsers which discard scripts when inserting innerHTML, extract the scripts using a RegExp if(s.length == 0){ var re = /(?:<script.*(?:src=[\"\'](.*)[\"\']).*>.*<\/script>)|(?:<script.*>([\S\s]*?)<\/script>)/ig; // assumes HTML well formed and then loop through it. var match; while(match = re.exec(html)){ var s0 = document.createElement("script"); if (match[1]) s0.src = match[1]; else if (match[2]) s0.text = match[2]; else continue; docHead.appendChild(s0); } }else { for(var i = 0; i < s.length; i++){ var s0 = document.createElement("script"); s0.type = s[i].type; if (s[i].text) { s0.text = s[i].text; } else { s0.src = s[i].src; } docHead.appendChild(s0); } } } // set timeout to give DOM opportunity to catch up setTimeout(_parseScripts, 10); } |
|
返回顶楼 | |
发表时间:2006-12-08
谢谢各位,基本知道怎么做了 |
|
返回顶楼 | |