当我调用webkit_web_view_load_string()来加载html内容时 在webkitview中,webkit总是拒绝加载html内容中引用的本地文件或资源(css,javascript,images)。
注意:我正在使用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文件没有样式!我怎么能解决这个问题,谢谢?!
答案 0 :(得分:1)
你应该以某种方式告诉WebKit加载本地资源是很好的。您可以使用webkit_web_view_load_uri
并确保使用file://
URI来执行此操作。否则,WebKit将假定字符串(在load_string中)来自不受信任的源,因此不允许访问本地资源。