UEditor 编辑器跨域上传解决方法
解决UEditor跨域上传图片需三步:首先统一两个页面的根域名;其次修改internal.js,将location.host改为document.domain;最后在调用UEditor的页面头部添加document.domain语句。针对IE浏览器,还需在editor.js的合适位置插入补丁代码,并设置document.domain。操作顺序不可颠倒,否则跨
解决UEditor跨域上传图片的问题,其实没那么玄乎,关键就两步:搞定域名权限,再给IE单独补个补丁。下面把具体操作拆开说。
第一步:统一根域名
先找到UEditor的配置文件 ueditor/dialogs/internal.js,在文件开头加上这么一行:
document.domain = '根域名';
这里的“根域名”就是你项目实际部署的域名,比如 example.com。这一步是告诉浏览器,所有子域名的页面都算同一个域,跨域问题就解决了一半。
第二步:当前页面也要指定
光改UEditor内部还不够,你调用UEditor的那个页面也得做同样的事。在页面的标签里加上:
这样Chrome、Firefox等现代浏览器就基本能正常工作了。但如果你还打算支持IE,那还得再动个小手术。
第三步:给IE单独喂药
在UEditor的 editor.js 文件里,找到下面这行代码:
this._setup( container.firstChild.contentWindow.document );
在这行代码的上面插入一段IE专用的补丁:
if (ie) {
document.getElementById('baidu_editor_' + this.uid).src = "ja vascript:(function(){document.open();document.domain='"+document.domain+"';document.close();})()";
}
接下来,再找到 me.document = doc; 这行,在它的下面加上:
me.document.domain='根域名';
完成这些操作后,IE下UEditor的跨域图片上传就也能正常跑通了。代码量不大,但顺序别搞反,否则容易出奇奇怪怪的问题。
Photoshop 2026 是 Adobe 推出的专业图像处理与视觉设计软件,支持 Windows、macOS 和 iPad 等平台,广泛应用于摄影修图、电商设计、平面海报、数字绘画及视觉合成等创作场景。
Blender 是一款免费开源、跨平台的专业 3D 创作软件,集建模、动画、渲染、视频编辑与视觉合成等功能于一体,广泛应用于影视动画、游戏设计和建筑可视化等领域。软件支持 Cycles 物理渲染器与 Eevee 实时渲染引擎,并提供多边形建模、骨骼绑定、物理模拟等专业工具。Blender 兼容 Windows、macOS 和 Linux 系统,安装包轻巧、运行流畅,依托活跃的全球开发者社区持续更新,是从初学者到专业创作者都值得选择的正版 3D 创作工具。
Photoshop 2026 是 Adobe 推出的专业图像处理与视觉设计软件,支持 Windows、macOS 和 iPad 等平台,广泛应用于摄影修图、电商设计、平面海报、数字绘画及视觉合成等创作场景。
Blender 是一款免费开源、跨平台的专业 3D 创作软件,集建模、动画、渲染、视频编辑与视觉合成等功能于一体,广泛应用于影视动画、游戏设计和建筑可视化等领域。软件支持 Cycles 物理渲染器与 Eevee 实时渲染引擎,并提供多边形建模、骨骼绑定、物理模拟等专业工具。Blender 兼容 Windows、macOS 和 Linux 系统,安装包轻巧、运行流畅,依托活跃的全球开发者社区持续更新,是从初学者到专业创作者都值得选择的正版 3D 创作工具。















