Flutter如何支持浏览器跨域

这篇具有很好参考价值的文章主要介绍了Flutter如何支持浏览器跨域。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

当使用 flutter 构建 web 项目,直接运行在 chrome 浏览器发出网络请求会发生跨域错误 strict-origin-when-cross-origin(CROS),比如在 dart 代码直接用 dio.get("https://www.yunfuit.com"),dio 会报错,在 chrome 的 DevTools 中会发现 CROS 错误。

解决办法:

  • flutter\bin\cache删除flutter_tools.stamp
  • flutter\packages\flutter_tools\lib\src\web下打开chrome.dart,并在--disable-extensions下新增--disable-web-security。详细如下:

final List<String> args = <String>[
      chromeExecutable,
      // Using a tmp directory ensures that a new instance of chrome launches
      // allowing for the remote debug port to be enabled.
      '--user-data-dir=${userDataDir.path}',
      '--remote-debugging-port=$port',
      // When the DevTools has focus we don't want to slow down the application.
      '--disable-background-timer-throttling',
      // Since we are using a temp profile, disable features that slow the
      // Chrome launch.
      '--disable-extensions',
      '--disable-web-security',
      '--disable-popup-blocking',
      '--bwsi',
      '--no-first-run',
      '--no-default-browser-check',
      '--disable-default-apps',
      '--disable-translate',
      if (headless)
        ...<String>[
          '--headless',
          '--disable-gpu',
          '--no-sandbox',
          '--window-size=2400,1800',
        ],
      ...webBrowserFlags,
      url,
    ];

然后重启编译器(VS Code / Android Studio),重新运行即可成功!

推荐一个非常好用的chatgpt,微信扫码:

 文章来源地址https://www.toymoban.com/news/detail-580117.html

到了这里,关于Flutter如何支持浏览器跨域的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 浏览器跨域

    生活中的事跟跨域有什么关系,那必须有。 跨域的产生是浏览器的安全机制引起的,只有在使用Ajax时才会发生。简单来说就是你可以通过ajax发送请求,但要看远程服务器脸色,他没授权,浏览器这个老六就给拦截了,不能用这个结果,像极了游戏机让买不让玩。 跨域(Cr

    2024年02月10日
    浏览(25)
  • 浏览器跨域问题

    违背 同源策略 就是跨域。 同源策略 : 网页的url 和 该网页请求的url 的协议、域名、端口必须保持一致。 协议、域名、端口必须保持一致. 同源策略存在的原因: 保护用户隐私和防范网络攻击(https://editor.csdn.net/md?not_checkout=1spm=1011.2415.3001.6217articleId=132763789) 即如果网页请求的

    2024年02月09日
    浏览(29)
  • ES6(ECMAScript 2015)有哪些新属性,如何判断当前浏览器是否支持?

    ES6(ECMAScript 2015)引入了许多新的语法和特性,以增强 JavaScript 编程语言的功能。以下是一些常见的 ES6 语法和特性以及它们的解释: let 和 const 声明 : let 和 const 用于声明变量,代替了旧的 var 。 let 声明的变量具有块级作用域,而 const 声明的变量是不可变的(常量

    2024年02月07日
    浏览(47)
  • 浏览器:跨域及解决方法

    一、为什么会出现跨域问题 出于浏览器的 同源策略 限制。同源策略(Sameoriginpolicy)是一种约定,它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,则浏览器的正常功能不能使用。可以说Web是构建在同源策略基础之上的, 浏览器只是针对同源策略的一种实现 。

    2024年02月03日
    浏览(27)
  • 浏览器跨域的配置

    目录 1、前言 2、同源策略 3、跨源数据存储访问 4、浏览器跨域设置 4.1 版本号(49.x.x.x.x)之前的跨域设置 4.2 版本号(49.x.x.x.x)之后的跨域设置 5、批处理跨域设置 5.1 windows 操作系统。 5.2 Mac 操作系统 在我们进行前端开发的时候,我们请求的后端的接口可能是在不同的域名

    2024年02月07日
    浏览(27)
  • 浏览器的同源策略 - 跨域问题

    跨域问题的实质是浏览器的同源策略造成的。浏览器同源策略是浏览器为 JavaScript 施加的限制。简单点说就是非同源会出现如下等限制: 无法访问其他源下的网页的 Cookies,Storage等; 无法访问其他源下的DOM对象和 JS 对象; 无法使用 Ajax 向其他源发送请求(除非其他源允许)

    2024年02月15日
    浏览(30)
  • Chrome浏览器的跨域设置

    做前后端分离的开发的时候,出于一些原因往往需要将浏览器设置成支持跨域的模式,而且chrome浏览器支持可跨域的设置,但是新版本的chrome浏览器提高了跨域设置的门槛,原来的方法不再适用了。其实网上也有很多大神总结的chrome跨域设置教程,都是差不多。 下载好谷歌浏

    2024年02月02日
    浏览(47)
  • 浏览器多管闲事之跨域

    年少时的梦想就是买一台小霸王游戏机 当时的宣传语就是小霸王其乐无穷~。 大些了,攒够了零花钱,在家长的带领下终于买到了 那一刻我感觉就是最幸福的人 风都是甜的! 哪成想... 刚到家就被家长扣下了 “”禁止未成年人玩游戏机 (问过卖家了,卖家给的结论)..., 合着

    2024年02月13日
    浏览(33)
  • 谷歌关闭跨域限制.(生成一个开发浏览器),Chrome关闭跨域

    就可以了。开发的时候很爽

    2024年02月13日
    浏览(35)
  • chrome浏览器跨域设置(版本号108之后的跨域设置)

    1、首先在chrome浏览器安装目录下复制chrome.exe,生成一个新的命名为chrome-cross.exe 注意:为什么要在目录下复制一个新的?是因为如果名字相同,可能会导致设置好的跨域浏览器打开后跟原来的chrome.exe是同一个浏览器,设置的跨域浏览器就不是生效了。 2、点击 chrome-cross.exe

    2024年02月15日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包