我尝试使用webkit_web_view_load_uri()和file:// URL加载本地html文件。但是,webview将显示一个空白页。为了避免这种情况,我尝试使用webkit_web_view_load_html(),它正确地工作了。
现在,我正试图使用<img>标记在html中加载一些图像,但是没有加载这些图像(它显示了一个空白页)。
我很困惑,因为我在两个月前尝试过一种类似的方法,而且成功了。
注意:我把生成的HTML的内容复制到一个文件中,然后用Firefox加载它,它可以正常工作(图像是可见的),但是在另一个WebKitGtk应用程序中,我没有加载图像。
注意:我使用C++作为主要编程语言(如果可能的话,我更希望在解决方案中使用C++类型)
注意:我已经将webkit_settings_set_allow_file_access_from_file_urls()和webkit_settings_set_allow_universal_access_from_file_urls()设置为TRUE
发布于 2022-04-04 16:55:06
好吧,我已经解决了这个问题。这个解决方案与webkitgtk无关,这是很奇怪的。该应用程序似乎试图下载页面,而不是加载它。这可追溯到错误的MIME类型数据库。
Tl;Dr:
执行以下操作:
rm ~/.local/share/mime/packages/user-extension-html.xml
update-mime-database ~/.local/share/mime并使用webkit_web_view_load_uri()而不是带有webkit_web_view_load_html() URI的file://
发布于 2022-04-16 04:56:28
我在C中也有同样的问题,在调用file://时,您必须显式地将webkit_web_view_load_html()设置为base_uri。
https://stackoverflow.com/questions/71734719
复制相似问题