项目发布到服务器上后,后台发布信息的时候,编辑器在上传图片的时候,总是提示d_file.myform.uploadfile 为空或不是对象,本地测试好好的,不知道服务器上怎么回事,最后找到了解决的办法:
找到js目录下的editor.js,把
document.write('<iframe id=d_file frameborder=0 src="../upload/?flag=img" width="100%" height="22" scrolling=no></iframe>');
换成
document.write('<iframe id=d_file frameborder=0 src="../upload/Default.aspx?flag=img" width="100%" height="22" scrolling=no ></iframe>');
即可
当然你在iis配置的文档中如果加上Defalult.aspx也可以,默认情况下回找到,如果没有配置,那么这个地方要写全了,否则就会报错
上面的问题是解决了,可是经过测试,ie6和ie7都可以,很正常,可是到ie8上的时候点击没有任何反应,最后才知道原来eWebeditor只支持ie6和ie7,把ie8屏蔽掉了,所以我们要解开之后才可以使用,具体的解决方案:
打开include下面的editor.js文件,有这样的段代码:
if (element.YUSERONCLICK) eval(element.YUSERONCLICK + "anonymous()");
把那个anonymous方法改成onclick就可以了。
为了使ie6,ie7和ie8共用,需要判断
if(navigator.appVersion.match(/8./i)=='8.')
{
if (element.YUSERONCLICK) eval(element.YUSERONCLICK + "onclick(event)");
}
else
{
if (element.YUSERONCLICK) eval(element.YUSERONCLICK + "anonymous()");
}
有时候我们会发现,当你一个编辑器原封不懂的拷到另外一个项目中的时候,会发现任然出问题,近端时间就出现过几次这样的问题,原来都是没有和本项目编译起来造成的,还有的就是同种编辑器有不通语言的版本,前段时间就遇到了这样的问题,asp.net的编辑器在asp项目中不能正常使用,下载一个asp版本就可以
问题是解决了,由此感想,要想满足所有客户端,真是个问题,以后ie在继续升级,岂不是更难了....