首页| 论坛| 消息

标题:Qt Webassembly 跨域访问 怎么做?
作者:20091001753
日期:2023-02-03 23:54
内容:

我用 QNetworkAccessManager 下载 新浪 的数据,提示 Not Found
准确来说,我发现是:我只能访问自己服务器的 http 内容,无法访问外部网站的。
所以要怎么做呢?


#1 [fsu0413 02-05 11:16]
默认情况下应该就是不行的,需要 新浪 配置CORS (嗯,这是不可能的)
要么你自己的服务器代理下,,,。。。但是服务器开销是问题

https://doc.qt.io/qt-6/wasm.html#networking
#2 回 fsu0413 的帖子 [20091001753 02-05 23:35]
fsu0413:默认情况下应该就是不行的,需要 新浪 配置CORS (嗯,这是不可能的)
要么你自己的服务器代理下,,,。。。但是服务器开销是问题

https://doc.qt.io/qt-6/wasm.html#networking
....... (2023-02-05 11:16) 
我想把自己写的几个小工具编译成 webassembly 版本,但发现压根没法弄。
因为他们启动都需要加载第三方网站的数据,PC端 与 安卓端,都没问题,可 webassembly 端就会受到游览器同源的限制。
同源限制 + 不支持中文输入 + 显示中文要自带字体 = 可用性极低。
这意味着它只适合运用在极少数的特殊场景。
#3 回 20091001753 的帖子 [fsu0413 02-06 19:58]
20091001753:我想把自己写的几个小工具编译成 webassembly 版本,但发现压根没法弄。
因为他们启动都需要加载第三方网站的数据,PC端 与 安卓端,都没问题,可 webassembly 端就会受到游览器同源的限制。
....... (2023-02-05 23:35) 
第三方网站数据确实不行 除非原站代理否则没办法
主要是WebAssembly端的程序都是在沙盒里,正常的JS都是有限制的。
不支持中文输入可能是 Qt 的问题?
https://bugreports.qt.io/browse/QTBUG-107139
#4 回 fsu0413 的帖子 [20091001753 02-07 02:24]
fsu0413:第三方网站数据确实不行 除非原站代理否则没办法
主要是WebAssembly端的程序都是在沙盒里,正常的JS都是有限制的。
不支持中文输入可能是 Qt 的问题?
....... (2023-02-06 19:58) 
这个帖子说 6.4.0 里,复制粘贴无法支持中文。
我试的是 6.4.2,中文是可以粘贴进去的,但无法通过输入法写进去。
#5 回 fsu0413 的帖子 [yeguoxiong 02-07 22:41]
fsu0413:第三方网站数据确实不行 除非原站代理否则没办法
主要是WebAssembly端的程序都是在沙盒里,正常的JS都是有限制的。
不支持中文输入可能是 Qt 的问题?
....... (2023-02-06 19:58)
Qt for WebAssembly无法使用浏览器或者说客户宿主机的字体,可以根据静态编译整个中文字体都打包到资源文件里,就是太大了基本都10mb+,加载速度也会被大幅度拖慢。可以对字体进行裁剪,裁剪常用字体即可,可以控制在几百k大小。在线地址 https://font-subset.disidu.com/

<< 1 2 >> (1/2)

回复 发表
主题 版块