vivo浏览器调试跨域请求需禁用同源策略或配代理:chrome flags中关闭#enable-web-security(v15.0.0+已移除);或用vite代理、nginx反向代理;再通过网站设置启用javascript等必要权限。

前端在vivo浏览器中调试跨域请求时,常因同源策略拦截导致接口调用失败、响应无法读取,需在不修改生产代码的前提下临时绕过限制。
启用开发者模式并禁用同源策略
该操作仅限本地调试使用,必须在手机已开启USB调试且连接电脑的前提下进行。打开vivo浏览器→地址栏输入 chrome://flags →搜索 “#enable-web-security” →将该项设为 Disabled →重启浏览器进程(非单纯刷新页面,需从最近任务中彻底关闭后重开)。
【此操作会完全关闭同源检查,切勿在日常浏览中启用】
重启后,所有跨域AJAX请求均可正常发送并读取响应体,包括携带自定义header、application/json类型的POST请求。但注意:该flag在vivo浏览器v15.0.0+版本中已被移除,若找不到此项,请改用代理方案。
配置本地代理服务转发请求
方法一:使用Vite内置代理(推荐用于Vue/React/Vanilla项目)
在vite.config.ts中添加server.proxy配置:
```ts
server: {
proxy: {
'/api': {
target: 'https://test-api.example.com',
changeOrigin: true,
secure: false
}
}
}
```
前端请求 /api/login 即被自动转发至目标域名,浏览器认为仍是同源请求,无需CORS头支持。
方法二:手动启动nginx反向代理(适用于无构建工具的HTML+JS项目)
下载Windows/macOS版nginx,修改conf/nginx.conf,在http块内添加:
```conf
location /api/ {
proxy_pass https://dev-backend.example.com/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
```
启动nginx.exe后,用http://localhost:8080访问本地页面,所有/api/开头的请求均被透明转发,vivo浏览器无任何跨域感知。
利用vivo浏览器“网站设置”临时放宽权限
第一步:打开目标测试页面(如 http://localhost:5173 )
第二步:点击右下角“我的”→设置→隐私与安全→网站设置→找到当前页面域名(localhost:5173)→点击进入
第三步:逐项开启以下权限:
• JavaScript(必需,否则fetch无法执行)
• 弹窗和重定向(避免调试器跳转中断)
• Cookie和网站数据(保持登录态)
第四步:返回上一级→点击“权限管理”→对“摄像头”“位置”等无关权限保持禁用,防止误触发系统级弹窗干扰调试流。
这一步不会解除跨域限制本身,但能确保调试环境基础能力完整,避免因权限缺失导致请求未发出就被拦截。
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!











