Laya踩坑002_Mac编译后报错file://跨域问题

补充更新:

后来发现其实不需要那么麻烦,这个命令更靠谱:

open /Applications/Google\ Chrome.app --args --allow-file-access-from-files



首先是莫名其妙,电脑关机后,项目编译就报错一堆问题。

大意就是不能访问file://的文件(不齐全,我忘了保留截图和报错信息。),报错内容有这么一段: from origin 'null' has been blocked by CORS policy: Cross origin request。(先让我吐槽,然后再说解决方案)


这里真要严重吐槽下Laya的机制:

1. bin目录就不能剥离出去?编译目录和开发目录都不分开?混着来?在bin目录上踩坑真的是恶心透了!!!恶心透了!!!恶心!!!透了!!!

2. 项目内部的文件,从LayaIde里面看,还被换过层级和名字。如果是u3d、cocos的老用户,呵,懵逼去吧~!捋半天,我的天呐~还可以这样玩???(卧槽!)


报错不能获取对应的文件,文件是存在的。

报错

然后查找资料,罗列出来,你们有兴趣自己去深入研究。

http://ask.layabox.com/question/12504(这里是跟我一样的报错)

https://ask.layabox.com/question/13

https://www.zhihu.com/question/20948649/answer/256887902

前面这3个帖子,只是让你明白,为什么报错。并没有真正的解决方案。

http://ask.layabox.com/question/39289

这个帖子的命令才是真正可以解决问题的。


打开一个新的可跨域的chrome窗口实现方法:

1. 打开终端

2. 输入下面的命令( Tip:需要替换路径中的yourname )

open -n /Applications/Google\ Chrome.app/ --args --disable-web-security  --user-data-dir=/Users/yourname/MyChromeDevUserData/

注意:

Mac下可使用命令行打开chrome,记住先关闭当前chrome窗口。

网上有些文章--user-data-dir参数后面没有添加文件夹名,是设置不成功的。

这是在mac的根目录在建了一个叫MyChromeDevUserData的文件夹,用于保存关闭安全策略后的用户信息的,名字可以随意取,位置也可以随意放,只要路径是正确的就可以。

发现:

第一次打开chrome有黄色背景色的“--disable-web-security”相关的提示,说明浏览器设置跨域成功。

再次用执行上面的命令行时,不会再有相关提示了,但是还是能跨域的!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容