Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
是否有可能将数据从浏览器传递到Qt WebAssembly应用程序-可能作为环境变量?_Qt_Webassembly - Fatal编程技术网

是否有可能将数据从浏览器传递到Qt WebAssembly应用程序-可能作为环境变量?

是否有可能将数据从浏览器传递到Qt WebAssembly应用程序-可能作为环境变量?,qt,webassembly,Qt,Webassembly,我有一个用Qt编写的客户端应用程序,它在web浏览器中与WebAssembly一起运行。现在,我想将服务器URL作为环境变量传递给应用程序(我不想为客户端连接到的每个不同的服务器重新编译应用程序) 我的目标是访问qt应用程序,比如 一些javascript设置环境变量 服务器URL=wss://server1.foo.org 这使我可以连接到具有相同二进制文件但不同子域的不同服务器。不知道这是否仍然与您相关,但我正在寻找完全相同问题的解决方案,并在官方Qt论坛中发现了此线程: 有一个尚未整合的

我有一个用Qt编写的客户端应用程序,它在web浏览器中与WebAssembly一起运行。现在,我想将服务器URL作为环境变量传递给应用程序(我不想为客户端连接到的每个不同的服务器重新编译应用程序)

我的目标是访问qt应用程序,比如 一些javascript设置环境变量 服务器URL=wss://server1.foo.org


这使我可以连接到具有相同二进制文件但不同子域的不同服务器。

不知道这是否仍然与您相关,但我正在寻找完全相同问题的解决方案,并在官方Qt论坛中发现了此线程:

有一个尚未整合的变化正是如此:

这是对qtloader.js的一个小改动,因此您甚至不需要重新编译。因为大部分工作已经在Emscripten中完成。您可以使用QCoreApplication::arguments()的正常方式访问参数

所以像这样的url:

将收到如下参数: (“/this.program”、“arguments=yes”、“argument2=no”)*


我自己,我还在寻找一个优雅的解决方案,不显示地址< /p> < P>的参数。如果目的是简单地获取服务器地址,就可以在Qt应用程序的C++代码中访问它。

#include <emscripten/val.h>
...
emscripten::val location = emscripten::val::global("location");
auto host = location["hostname"].as<std::string>();
auto port = location["port"].as<std::string>();
#包括
...
emscripten::val location=emscripten::val::global(“位置”);
自动主机=位置[“主机名”].as();
自动端口=位置[“端口”].as();
这基本上可以让您访问JavaScript window.location对象