E3 tree 1.6在Firefox下顯示問題的修復(fù)
tree 在Firefox下只顯示一句話:
用firebug查看頁面元素觀察發(fā)現(xiàn)
兩個(gè)script導(dǎo)入被一個(gè)<script>分隔開了,顯然是document.write的問題.由于Firefox對js規(guī)范的檢查比較嚴(yán)格,肯定一些字符輸出的的時(shí)候沒有轉(zhuǎn)義.
查看e3 tree的源代碼:
/E3Tree/src/net/jcreate/e3/tree/ext/ExtTreeBuilder.java
/E3Tree/src/net/jcreate/e3/tree/ext/OutlookExtTreeBuilder.java
找到相關(guān)代碼:
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);
這兩個(gè)類都有導(dǎo)入代碼,將其修改為:
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);
只要在<和>前加轉(zhuǎn)義"" 就行了.
將編譯好的類再導(dǎo)入e3.jar.重新部署后tree顯示正常了.
e3 fix 2 bugs download e3