百度ueditor编辑器跨域问题的另一个解决方法

南国老符 南国老符 最后更新于:2022-04-18 浏览:1653

项目开发中用了百度ueditor编辑器,在用到ueditor的表情时,遇到了跨域问题,因为我们项目中所有的js、css、图片等静态资源都是放在cdn里,跟项目工程不在同个服务器,所以导致了跨域问题。

举个例子示意下:

项目域名:http://home.index.html,对应index.css、 index.js
表情相关资源域名:http://cdn.emotion.html,对应emotion.css、emotion.js
http://cdn.emotion.html是以iframe的形式嵌在http://home.index.html下,在读取emotion.html下的资源的时候就报跨域的错误了


去网上查了下iframe跨域解决方案,千篇一律说:

在index.html里加  document.domain = "home.com";//根域在emotion.html里加  document.domain = "home.com";//根域


但是用这种方式解决跨域问题是有条件限制的,你只能赋成当前的域名或者基础域名,亲测确实不行,还会报错,所以就放弃了这个方案

我的解决方案是找到ueditor的配置文件ueditor.config.js里的iframeUrlMap,重新配置表情对应iframe的src:

iframeUrlMap:{
  'emotion:'http://home.emotion.html'}


然后把ueditor->dialogs->emotion下的emotion.html到项目工程下,更改里面js、css等资源的请求路径,重新部署后,ifarme里的src就会由原先的“http://cdn.emotion.html”变成“http://home.emotion.html”,这样就不涉及跨域问题了。

同理,对于ueditor的超链接iframe导致的跨域问题,也可以通过这个方法解决:

iframeUrlMap:{
  'emotion:'http://home.emotion.html',
  'link':'http://home.link.html'}

再将ueditor下的link.html移植到工程下,一起发布到服务器,就不会产生跨域问题。


点赞 (0)

收藏 (0)
转载请务必注明: 来源:《建站管家》https://www.df81.com/news/284.html

本站部分信息来源网络,如有侵权,请联系QQ:1062129401删除。

上一篇: 百度编辑器ueditor多图上传提示跨域问题的解决方法

下一篇: php设置允许跨域请求的代码

请先登录后,再发表评论 ~ ~
发表评论
发表帖子
广告位招租( ¥5 / 天 )
点击咨询
最新帖子

南国老符
2025-09-10 03:48
南国老符
2025-07-13 19:36
南国老符
2025-05-26 16:54
南国老符
2024-09-29 10:29
广告位招租( ¥5 / 天 )
点击咨询
最近评论

Y
yuanis90
回复:在后台->全局管理->网站设置->网站html代码,把你申请的分享代码贴到这里保存即可。以后发问题,请贴出具体版本号
南国老符
回复:发表帖子发不了  乱码
南国老符
回复:第一位参与的老总,是做洗衣店saas系统的,需要的请联系
9
9252
回复:新版已经修复了的,升级忘记覆盖了,你重新下载即可。
U
user1304
回复:PHP开启fileinfo扩展即可
U
user1379
回复:版本号多少?
购买VIP
购买授权
余额充值
发表帖子
客服微信