Ad *_*d N 5 javascript c++ qt cors qtwebengine
我们维护一个应用程序,其 UI 包含QWebEngineView. 此视图中显示的页面来自本地资源包,即类似 qrc://mypage.html 的 url。
页面中的window.fetch(https://some.thi.ng)一些JS在 Internet 服务器上执行一些 url,并在 webview 中启用了 CORS。
Qt 5.9.6 一切正常。然而,升级到 Qt 5.12.1 引入了 CORS 错误:
无法加载https://some.thi.ng:“Access-Control-Allow-Origin”标头的值“qrc://”不等于提供的来源。因此,不允许访问原点“qrc://”。
好吧,它似乎抱怨qrc://不等于qrc://。
通过使用 webview chrome 调试器,我们确实可以确认请求发送了一个Origin值为qrc://的标头,并且响应确实包含一个Access-Control-Allow-Origin具有相同值的标头。
通过阅读MDN 上的参考,似乎这应该满足所有标准,并且请求应该由浏览器执行而没有任何错误。
这qrc://是不是一个有效来源的问题?更新的 Qt 铬引擎的错误?