IE8.0中,网页后台编辑程序ewebeditor按钮失效解决方法
作者:王勋 日期:2012-03-11
IE8正式推出了,但许多网站管理人员(网编、内容管理员)都碰到了一个同样的问题:网站后台使用的可视化编辑器不能正常使用,编辑器图标点击无效(兼容模式依然无效),会提示editor.js或editor.asp等网页中的“缺少对象”错误。
网上很快有了原因分析及解决方法,原因是IE8中不支持“anonymous()”方法,于是网上能大量搜索到解决的办法,将anonymous()改为onclick(event),在IE8中便可正常使用,但在老版本的IE中便不能使用,然后就有人增加了版本判断,以下代码开始流行:
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()");
}
但经过证实,上述解决方法并不理想,更好的判断方法将上叙代码修改为:
if (navigator.appVersion.match(/8./i)=='8.')
{
if (element.YUSERONCLICK) eval(element.YUSERONCLICK + 'onclick(event)');
}
else
{
if(document.documentMode === 5) {
if (element.YUSERONCLICK) eval(element.YUSERONCLICK + 'onclick(event)');
}
else{
if (element.YUSERONCLICK) eval(element.YUSERONCLICK + 'anonymous()');
}
}
网上很快有了原因分析及解决方法,原因是IE8中不支持“anonymous()”方法,于是网上能大量搜索到解决的办法,将anonymous()改为onclick(event),在IE8中便可正常使用,但在老版本的IE中便不能使用,然后就有人增加了版本判断,以下代码开始流行:
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()");
}
但经过证实,上述解决方法并不理想,更好的判断方法将上叙代码修改为:
if (navigator.appVersion.match(/8./i)=='8.')
{
if (element.YUSERONCLICK) eval(element.YUSERONCLICK + 'onclick(event)');
}
else
{
if(document.documentMode === 5) {
if (element.YUSERONCLICK) eval(element.YUSERONCLICK + 'onclick(event)');
}
else{
if (element.YUSERONCLICK) eval(element.YUSERONCLICK + 'anonymous()');
}
}
评论: 0 | 引用: 0 | 查看次数: 1675
发表评论
你没有权限发表评论!