eWebEditor不支持IE8的解决方法
2009-08-05 21:22
751 查看
现在公布方法:替换editor.js函数 //Toolbarbuttononmouseuphandler functionBtnMouseUp(){ if(event.srcElement.tagName!="IMG"){ event.cancelBubble=true; returnfalse; } varimage=event.srcElement; varelement=image.parentElement; //if(element.YUSERONCLICK)eval(element.YUSERONCLICK+"anonymous()"); if(navigator.appVersion.match(/8./i)=='8.') { if(element.YUSERONCLICK)eval(element.YUSERONCLICK+"onclick(event)"); } else { if(element.YUSERONCLICK)eval(element.YUSERONCLICK+"anonymous()"); } element.className="BtnMouseOverUp"; image.className="Ico"; event.cancelBubble=true; returnfalse; }
注意ASP.NET页面运行后的HTML标签的Name属性值可能要改变
运行前:
<formenctype="multipart/form-data"action="#"method="post"id="adminform"name="form1"runat="server">
<p>发表文章</p>
<span>标题:</span><inputtype="text"name="title"id="admintitle"runat="server"/><br/>
<span>附件:</span><asp:FileUploadid="file"runat="server"/><br/>
<span>类型:</span><selectname="type"id="adminselect"runat="server">
<optionvalue="课件">课件</option>
<optionvalue="代码">代码</option>
</select><br/>
<span>内容:</span><br/>
<textareaid="admintext"name="text"cols="70"rows="21"runat="server"></textarea><br/>
<inputtype="button"value="高级编辑"class="button"style="width:100px;"onclick="eWebEditorPopUp('adminform','admintext',700,500);"/>
<inputtype="reset"value="重置"class="button"/>
<asp:ButtonID="button1"CssClass="button"runat="server"Text="提交"onclick="button1_Click"/>
<spanid="fileex"runat="server"><a></a></span>
<spanid="result"runat="server"><a></a></span>
</form>
运行后:
<formname="adminform"method="post"action="admin_admin.aspx"id="adminform"enctype="multipart/form-data">
<div>
<inputtype="hidden"name="__VIEWSTATE"id="__VIEWSTATE"value="/wEPDwULLTE0MDM0NzkyMTgPZBYCAgMPFgIeCWlubmVyaHRtbAUHemFpdGlhbmRkskyzG8f4ESObK9M+JsGrnfiYCY8="/>
</div>
<p>发表文章</p>
<span>标题:</span><inputname="admintitle"type="text"id="admintitle"/><br/>
<span>附件:</span><inputtype="file"name="file"id="file"/><br/>
<span>类型:</span><selectname="adminselect"id="adminselect">
<optionvalue="课件">课件</option>
<optionvalue="代码">代码</option>
</select><br/>
<span>内容:</span><br/>
<textareaname="admintext"id="admintext"cols="70"rows="21"></textarea><br/>
<inputtype="button"value="高级编辑"class="button"style="width:100px;"onclick="eWebEditorPopUp('adminform','admintext',700,500);"/>
<inputtype="reset"value="重置"class="button"/>
<inputtype="submit"name="button1"value="提交"id="button1"class="button"/>
<spanid="fileex"><a></a></span>
<spanid="result"><a></a></span>
<div>
<inputtype="hidden"name="__EVENTVALIDATION"id="__EVENTVALIDATION"value="/wEWBQL/wejzAwKgz8D1BwL4jJyHDAKE9LONCQKs34rGBiVbt02kJursZrIBBXPl/aUiozt2"/>
</div></form>
解决IE8不支持eWebEditor在线文本编辑器的方法如下:1、首先找到eWebEditor编辑器所在的目录,然后搜索到editor.js文件,由于eWebEditor有很多个版本,所以editor.js文件所在的目录也有所不同,有的可能在Include目录下,有的可能在js目录下。2、用记事本打开editor.js文件,找到如下代码:if(element.YUSERONCLICK){eval(element.YUSERONCLICK+"anonymous()");}由于eWebEditor编辑器版本不同,有的可能找不到上面的代码,而是下面这样的代码,两种代码只是书写格式不同而已,含义是一样的:if(element.YUSERONCLICK)eval(element.YUSERONCLICK+"anonymous()");3、将上面的代码替换为下面的代码即可:if(navigator.appVersion.match(/8./i)=='8.'){if(element.YUSERONCLICK)eval(element.YUSERONCLICK+"onclick(event)");}else{if(element.YUSERONCLICK)eval(element.YUSERONCLICK+"anonymous()");}解决方法:
替换168行
if(element.YUSERONCLICK)eval(element.YUSERONCLICK+"anonymous()");
把那个anonymous方法改成onclick就可以了。
替换成如下代码:
if(navigator.appVersion.match(/MSIE(7|8)/./i)!=null){
if(element.YUSERONCLICK)eval(element.YUSERONCLICK+"onclick(event)");
}else{
if(element.YUSERONCLICK)eval(element.YUSERONCLICK+"anonymous()");
}
最近IE8出来了,ewebeditor也出现了不兼容问题.下面是解决办法:
if(navigator.appVersion.match(/8./i)=='8.'||navigator.appVersion.match(/7./i)=='7.'){
if(element.YUSERONCLICK)eval(element.YUSERONCLICK+"onclick(event)");//IE8orIE7
}else{
if(element.YUSERONCLICK)eval(element.YUSERONCLICK+"anonymous()");//IE6
}
不过ewebeditor对其他浏览器也存在不兼容情况,建议还是用fckeditor.
今天检查公司一老站后台,发现eWebEditor编辑不能使用,按照前段时间的博文“IE8.0下eWebEditor不能正常使用的解决办法”中修改了Edit.js一行代码。修改之后一同事使用IE7竟然不能正常使用该编辑器,修改之后可以。
估计还是那行代码的问题。恢复以前的,IE7可以而IE8不可以。看来还必须先判断IE版本然后再写不同的代码。
于是就使用了下面的代码:
if(navigator.appVersion.match(/8./i)=='8.'){
if(element.YUSERONCLICK)eval(element.YUSERONCLICK+"onclick(event)");
}else{
if(element.YUSERONCLICK)eval(element.YUSERONCLICK+"anonymous()");
}
修改之后在IE8和IE7均可以正常使用eWebEditor编辑器。
但是在装有IE8的机器上使用傲游浏览器竟然不能使用该编辑器,纳闷了,傲游是IE内核,应该可以呀。
于是就使用alert(navigator.appVersion)弹出信息,结果发现竟然是IE7?如下图:
使用IE8弹出的如下图:
晕了!竟然不一样?难道傲游没有用到真正的IE8内核?还是显示的问题?
难道再加一句判断傲游的?
没办法:
if(navigator.appVersion.match(/8./i)=='8.'||navigator.appVersion.match(/MAXTHON/i)=='MAXTHON'){
if(element.YUSERONCLICK)eval(element.YUSERONCLICK+"onclick(event)");
}else{
if(element.YUSERONCLICK)eval(element.YUSERONCLICK+"anonymous()");
}
前几天看新闻说傲游开发自己的内核浏览器,希望众多浏览器在兼容代码上好一些,不要浪费编写代码者的那么多找不兼容问题、调试不兼容问题的时间。
相关文章推荐
- 转:eWebEditor不支持IE8的解决方法[js报错:缺少对象 editor.js]
- eWebEditor不支持IE8的解决方法[js报错:缺少对象 editor.js]
- eWebEditor不支持IE8的解决方法
- eWebEditor不支持IE9,IE8,IE7,火狐,遨游的解决方法
- eWebEditor不支持IE8的解决方法[js报错:缺少或不支持对象 editor.js]
- eWebEditor不支持IE,IE8,IE7,火狐,遨游的解决方法
- eWebEditor不支持IE8的解决方法[js报错:缺少对象 editor.js]
- eWebEditor不支持IE8的解决方法[js报错:缺少对象 editor.js]
- eWebEditor不支持IE8IE7火狐遨游的解决方法
- eWebEditor不支持IE8,IE7,遨游的原因及解决方法
- eWebEditor 不支持ie7、ie8的解决方法
- 解决eWebEditor支持IE6、IE7、IE8的三个方法
- 解决eWebEditor在线文本编辑器在IE8,i9下不兼容的方法
- eWebEditor 辑器按钮失效 IE8下eWebEditor编辑器无法使用的解决方法
- 解决eWebEditor在线文本编辑器在IE8,i9下不兼容的方法
- 网站制作---eWebeditor不兼容IE8问题的解决方法
- eWebeditor不兼容IE8问题的解决方法 .
- asp 下 ewebeditor 上传图片功能,在IE7,IE8 及更高版本上失效解决方法
- eWebeditor在IE8、IE9中插入图片按钮不能使用问题的解决方法
- IE8不兼容eWebeditor问题的解决方法