gpt4 book ai didi

c - 使用 webkitgtk+ 加载资源

转载 作者:太空宇宙 更新时间:2023-11-04 04:01:25 25 4
gpt4 key购买 nike

当我调用 webkit_web_view_load_string() 将 html 内容加载到一个 webkitview,webkit 总是拒绝加载 html 内容中引用的本地文件或资源(css、javascript、图像)。

注意:我正在使用 GResource 将资源加载到二进制文件中?这是一个例子:

GBytes *data;
GResource *resource;
GByteArray* gbarray; resource = one_file_get_resource();

.

...

g_resources_register (resource);
data = g_resource_lookup_data (resource,"/com/test/resources/index.html", G_RESOURCE_LOOKUP_FLAGS_NONE,NULL);
gbarray = g_bytes_unref_to_array(data);
const gchar* data_char = gbarray->data;

...

webkit_web_view_load_string(webView, data_char, NULL, NULL,"");

这是我的 GResources 的 xml 文件:

    <?xml version="1.0" encoding="UTF-8"?>
<gresources>
<gresource prefix="/com/test">
<file>resources/index.html</file>
<file>resources/style.css</file>
</gresource>
</gresources>

现在我的问题是加载了 index.html 但没有 css 文件。我得到了没有样式的 html 文件!我该如何解决这个问题,谢谢?!

最佳答案

您应该以某种方式告诉 WebKit 可以加载本地资源。您可以通过使用 webkit_web_view_load_uri 并确保使用 file:// URI 来执行此操作。否则,WebKit 将假定字符串(在 load_string 中)来自不受信任的来源,因此不允许访问本地资源。

关于c - 使用 webkitgtk+ 加载资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11245511/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com