goldrain

金色雨点

  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  37 随笔 :: 2 文章 :: 239 评论 :: 0 Trackbacks

使用innerHTML进行页面部分替换对复杂交互很有效。
不过有个地方要注意
.innerHTML里带的script不会起作用
为调试方便起见,可以先对innerHTML进行单独调试,调通后将其中的javascript拷贝到主页面。innerHTML中的script也不用删除。

.javascript报错可能只针对innerHTML里的行数。

posted on 2005-07-29 16:04 goldrain 阅读(6719) 评论(6)  编辑  收藏

评论

# re: 使用innerHTML要注意的问题 2005-07-30 12:35 goldrain
query使用innerHTML也可以实现局部更新
不过必要性不是很大,query往往要求对选中记录进入操作,
操作返回后还能刷新原query分页所在页面,所以用session保持这些信息就不可避免...  回复  更多评论
  

# re: 使用innerHTML要注意的问题 2005-12-05 11:20 wei
不知道那位大哥能解决,有没有什么办法可以让innerHTML里带的script起作用,有没有替代innerHTML的方法?  回复  更多评论
  

# re: 使用innerHTML要注意的问题 2005-12-23 16:53 xlq
瞒天过海
ob.innerHTML="<scrip"+"t></s"+"cript>";  回复  更多评论
  

# re: 使用innerHTML要注意的问题 2007-02-12 17:07 qianfeng
@wei
这样试试<script defer="defer">  回复  更多评论
  

# re: 使用innerHTML要注意的问题[未登录] 2007-02-26 16:58 goldrain
原来还是有办法解决的,参照下面的代码:
function _xml_htmlInsert(partId, viewData) {

var regexp1 = /<script(.|\n)*?>(.|\n|\r\n)*?<\/script>/ig;
var regexp2 = /<script(.|\n)*?>((.|\n|\r\n)*)?<\/script>/im;

/* draw the html first */
partId.innerHTML = viewData.replace(regexp1, "");

var result = viewData.match(regexp1);
if (result) {
for (var i = 0; i < result.length; i++) {
var realScript = result[i].match(regexp2);
_xml_executeScript(realScript[2], partId);
/* Note: do not try to write more than one <script> in your view.*/
/* break; process only one script element */
}
}

}  回复  更多评论
  

# re: 使用innerHTML要注意的问题[未登录] 2008-04-01 17:43 Simple
这个要用到defer属性 就可以搞定的`~   回复  更多评论
  


只有注册用户登录后才能发表评论。


网站导航: