日期:2014-05-16  浏览次数:20436 次

ckeditor 上传 返回时显示js代码
最近使用ckeditor做上传图片的功能,做成功后在本地运行正常。部署到linux服务器之后,图片上传成功了,但是没有跳转到到预览框里去,却在原先的页面显示出这段js代码:
<script type='text/javascript'>window.parent.CKEDITOR.tools.callFunction(2,'http://img.shangshangw.com/upload/commodity/20120406/201204061740421341.jpg', '');</script>
并没有执行。

我百思不得其解,后来通过火狐我发现返回的代码被转义了:
<pre>&lt;script type='text/javascript'&gt;window.parent.CKEDITOR.tools.callFunction(2,'http://img.shangshangw.com/upload/commodity/20120406/201204061740421341.jpg', '');&lt;/script&gt;</pre>

问题虽是找到了,但一直不知如何解决,又经过几番琢磨,发现了问题,原来是在后台向前台输出脚本时,没有指定contentType格式,这样写就木有问题了:
HttpServletResponse response = ServletActionContext.getResponse();
// 设置headers参数
String fullContentType = "text/html;charset=UTF-8";
response.setContentType(fullContentType);
out = response.getWriter();
out.write("<script  type='text/javascript'>window.parent.CKEDITOR.tools.callFunction(" + this.CKEditorFuncNum
             + ",'" + getUploadRootPath() + path + "/"
             + this.newImageFileNames[0] + "');</script>");

我勒个去,网上也没有相关资料,忧郁了我一个星期。分享给大家,能否给大家带来些帮助。
1 楼 justerhan 2012-06-11  
哎呀妈呀,太感谢了。
2 楼 justerhan 2012-06-11  
这个问题正好是我遇到的问题。2天了,一直没解决。多谢啊。