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