E3 tree 1.6在Firefox下显示问题的修复方法_javascript技巧

tree 在Firefox下只显示一句话:

用firebug查看页面元素观察发现

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

时间: 2024-09-17 00:26:46

E3 tree 1.6在Firefox下显示问题的修复方法_javascript技巧的相关文章

textContent在Firefox下与innerText等效的属性_javascript技巧

在IE和Opear下,DOM对象支持innerText属性,可以很方便的去除HTML标签. 但在Firefox不支持该属性,好在FF下的DOM对象支持textContent,该属性与innerText等效. 演示实例: <p id="TestObj">Hi,I'm <strong>cnlei</strong>.Welcome to my homepage:<a href="http://www.cnlei.com">h

IE和Firefox下javascript的兼容写法小结_javascript技巧

1.发现IE下input标签的id属性默认和name属性相同,而Firefox必须明确写出id属性的名称否则不能使用id属性. 如:<input type="text" name="username" value=""> 在IE下如下代码可以执行而在Firefox下却不可以: <script> alert(document.getElementById("username").value); </

JS实现左右拖动改变内容显示区域大小的方法_javascript技巧

本文实例讲述了JS实现左右拖动改变内容显示区域大小的方法.分享给大家供大家参考.具体如下: 这里演示左右可拖动的内容显示区效果,左右拖动红条改变显示区域宽度大小,往左拖则全部显示右侧内容,往右拖则全部显示左则内容,类似QQ的聊天窗口一样,可以向上或向下拖动大小,以适合使用者的要求.本代码完全JavaScript与CSS代码结合实现,在各主流浏览器内运行的兼容性也不错,左右拖动改变大小的JS代码推荐给大家. 运行效果截图如下: 在线演示地址如下: http://demo.jb51.net/js/2

JS+CSS实现感应鼠标渐变显示DIV层的方法_javascript技巧

本文实例讲述了JS+CSS实现感应鼠标渐变显示DIV层的方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/

javascript实现根据时间段显示问候语的方法_javascript技巧

本文实例讲述了javascript实现根据时间段显示问候语的方法.分享给大家供大家参考.具体实现方法如下: 将以下代码加入HTML 的<body></body>之间: <script language="javaScript"> <!-- now = new Date(),hour = now.getHours() if(hour < 6){document.write("凌晨好!")} else if (hour &

js实现鼠标感应向下滑动隐藏菜单的方法_javascript技巧

本文实例讲述了js实现鼠标感应向下滑动隐藏菜单的方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: <html> <head> <title>隐藏在网页左上角感应鼠标向下滑出的隐藏菜单</title> <style>#D1 {     BACKGROUND-COLOR: blue;     BORDER-BOTTOM: white 2px outset;     BORDER-LEFT: white 2px outset;   

JavaScript取得键盘按下方向键是哪个的方法_javascript技巧

本文实例讲述了JavaScript取得键盘按下方向键是哪个的方法.分享给大家供大家参考.具体如下: 这里通过创建一个event.keyCode对象,可有效获取键盘上的方向键,运行代码后,点击键盘上的任意方向键,网页会以Alert的方式返回你按下的是哪个键. 运行效果如下图所示: 具体代码如下: <html> <head> <title>取得键盘的方向键</title> <script language="javascript">

js实现浏览本地文件并显示扩展名的方法_javascript技巧

本文实例讲述了js实现浏览本地文件并显示扩展名的方法.分享给大家供大家参考.具体如下: 这里用文件域浏览指定文件,可以显示该文件的扩展名,想想它可以用在哪里?可以用在文件上传系统上,用来判断上传的文件类型是否是合法类型,不是则不允许上传.再看看代码,不足10行,解决问题,正在学习javaScript的朋友,你也可参考参考哦. 运行效果截图如下: 在线演示地址如下: http://demo.jb51.net/js/2015/js-view-nav-file-ext-codes/ 具体代码如下: <

bootstrap-datetimepicker实现只显示到日期的方法_javascript技巧

本文实例讲述了bootstrap-datetimepicker实现只显示到日期的方法.分享给大家供大家参考,具体如下: bootstrap-datetimepicker 一般都是设置到时分秒,有时候并不需要,怎么处理呢? minView: "month", //选择日期后,不会再跳转去选择时分秒 1.引入 <link href="Public/css/bootstrap.min.css" type="text/css" rel="