我的漫漫程序之旅

专注于JavaWeb开发

E3 tree 1.6在Firefox下显示问题的修复

tree 在Firefox下只显示一句话:


   

firebug查看页面元素观察发现



 

两个script导入被一个<script>分隔开了,显然是document.write的问题.由于Firefoxjs规范的检查比较严格,肯定一些字符输出的的时候没有转义.

查看e3 tree的源代码:

/E3Tree/src/net/jcreate/e3/tree/ext/ExtTreeBuilder.java

/E3Tree/src/net/jcreate/e3/tree/ext/OutlookExtTreeBuilder.java

找到相关代码:

    resouces.append("<script><!--").append(ENTER);

        resouces.append("if ( typeof(Ext) == ""undefined"" || typeof(Ext.DomHelper) == ""undefined"" ){").append(ENTER);        

        resouces.append("document.write('<script src=""${resouceHome}/adapter/ext/ext-base.js""></script>');").append(ENTER);

        resouces.append("document.write('<script src=""${resouceHome}/ext-all.js""></script>');").append(ENTER);        

        resouces.append("}").append(ENTER);

        resouces.append("--></script>").append(ENTER);

这两个类都有导入代码,将其修改为:

resouces.append("if ( typeof(Ext) == ""undefined"" || typeof(Ext.DomHelper) == ""undefined"" ){").append(ENTER);        

        resouces.append("document.write('""<script src=""${resouceHome}/adapter/ext/ext-base.js"""">""</script"">');").append(ENTER);

        resouces.append("document.write('""<script src=""${resouceHome}/ext-all.js"""">""</script"">');").append(ENTER);      

        resouces.append("}").append(ENTER);

只要在<>前加转义"" 就行了.

将编译好的类再导入e3.jar.重新部署后tree显示正常了.

e3 fix 2 bugs download e3

posted on 2009-11-21 11:18 々上善若水々 阅读(759) 评论(2)  编辑  收藏

评论

# re: E3 tree 1.6在Firefox下显示问题的修复 2009-11-22 15:04 凡客

是大方家肯定加咖啡  回复  更多评论   

# re: E3 tree 1.6在Firefox下显示问题的修复 2009-11-25 11:53 来如风

e3 tree
对ext的包装有很多错误的bug,生成的js错误很多,还不如直接用ext来的爽呢!!  回复  更多评论   


专题:Android  iPad  jQuery  Chrome OS

博客园首页  IT新闻  知识库  学英语  Java程序员招聘
标题  
姓名  
主页
验证码 *  
内容(请不要发表任何与政治相关的内容)  
  登录      
每天10分钟,轻松学英语


网站导航:
 

导航

<2009年11月>
25262728293031
1234567
891011121314
15161718192021
22232425262728
293012345

统计

留言簿(24)

随笔档案(40)

文章分类(293)

文章档案(244)

搜索

最新评论

阅读排行榜

评论排行榜