在使用 UEditor 编辑器 时遇到了跨域的问题,导致无法发图片,原因是由于 iframe 中的 src 跨域造成的。
解决的方法:
1.在 ueditor/dialogs/internal.js 加入 document.domain = '根域名';
2.在当前页面同样指定根域名:
代码如下 | 复制代码 |
这样在 chrome、firefox 下没有问题,但在 ie 下还需要简单修改下 UEditor,在 editor.js 中找到:
this._setup( container.firstChild.contentWindow.document );
在它上边加入下边的代码:
代码如下 | 复制代码 |
if (ie) { |
接下来找到:
代码如下 | 复制代码 |
me.document = doc; |
在它下边加入:
me.document.domain='根域名';
到这里就解决了 UEditor 跨域传图片的问题,希望对大家有所帮助。
我实现跨域上传的主要方式是将编辑器的前后端分离,前段直接放到需要用的项目内,接收上传的后端(已做权限验证)放到图片服务器上面了,在此代码就不放出来了哦。