多个iframe嵌套,或者加载在一个主体项目,或者页面里。从iframe拖拽,添加数据到主体项目或者页面上,跨域问题解决

Uncaught DOMException: Blocked a frame with origin “http://abc.aaaa.com” from accessing a cross-origin frame.

上面的信息一看,就是跨域了

解决,把domain 统一一下,涉及到的项目里,把domain都设置成一样的

如果用的vue项目,那就在main.js中或者App.vue里面,写上

if (!location.origin.includes('localhost')) {
   
  document.domain = 'xxx.com'
}

注意这里是主域名保持一致,就行。就是一级域名,比如:baidu.com

我们项目里遇到的问题就是,iframe加载了另一个域名下的项目

我们的项目域名是这样的:
主项目:abc.aaaa.com
iframe项目-1:def.aaaa.com
iframe项目-2:hig.aaaa.com
iframe项目-3:opq.aaaa.com

从上面可以知道,我们项目的主域名是一样的,都是 aaaa.com

所以在我们的项目入口文件设置 document.domain = ‘aaaa.com’

另外记录一下,托拽的问题吧,留着以后自己用

dragstart(e){
const dragData = {
	data: [
		{
			contentType: 'aabbc
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值