就是浏览器 同源策略
问题,或者叫 跨域问题
。
常见于用Chrome调试脚本的时候,需要加载的脚本和location
不同源。
至于什么叫 不同源 ,和为什么要限制。网络上一大把解释,我就不详细展开了。
而且个人水平有限,也还说不清楚。
我情况是这样的。
链接地址是这个
https://h5.m.taobao.com/trip/rx-search/list/index.html?_wx_tpl=https%3A%2F%2Fh5.m.taobao.com%2Ftrip%2Frx-search%2Flist%2Findex.weex.js&keyword=%E5%B9%BF%E5%B7%9E%E9%95%BF%E9%9A%86%E9%87%8E%E7%94%9F%E5%8A%A8%E7%89%A9%E4%B8%96%E7%95%8C&conditions=category%3A%E9%85%92%E5%BA%97%2B%E9%97%A8%E7%A5%A8%3Bdest%3A%E5%B9%BF%E5%B7%9E&spm=181.9659619.destination_poi_hotel.more&scm=&_projVer=0.11.1
我想要用扩展 GoRes
替换掉其中的一个压缩的JS链接为本地的文件。
要把文件:
pages/list/index.web.js
替换成:
http://127.0.0.1:5500/index.web.js
GoRes
对应的规则设置如下图:
错误提示
Access to script at 'http://127.0.0.1:5500/index.web.js' (redirected from 'https://g.alicdn.com/trip/rx-search/0.11.1/??widgets/base/seed-weex-wv-min.js,vendor/web-rax-framework/dist/framework.web.min.js,pages/list/index.web.js') from origin 'null' has been blocked by CORS policy: The 'Access-Control-Allow-Origin' header has a value 'https://h5.m.taobao.com' that is not equal to the supplied origin.
解决方案
创建一个用于调试的快捷方式,添加 启动参数
- 找到浏览器主程序所在位置→右键→发送到→桌面快捷方式
- 找到桌面快捷方式→右键→属性→快捷方式选项卡→目标
在后面追加 参数
--user-data-dir="c:\ChromeDebug" --test-type --disable-web-security
- 确认保存
- 前面这3步,具体参考 这个百度经验
- 点击快捷方式打开浏览器,然后再安装
GoRes
扩展,添加规则。再打开原来链接。发现可以成功替换和运行了。 - 然后,继续你的折腾就好啦 (〃'▽'〃)