假设我想WebKitWebView
在 GTK 中使用 a 来显示一些静态 HTML 页面。这些页面使用自定义 URL 方案,我们称之为custom://
. 此方案表示在生成 HTML 时事先不知道其位置的本地文件。我要做的是连接到navigation-requested
webview 的信号,然后这样做:
const gchar *uri = webkit_network_request_get_uri(request);
gchar *scheme = g_uri_parse_scheme(uri);
if(strcmp(scheme, "custom") == 0) {
/* DO FILE LOCATING MAGIC HERE */
webkit_web_view_open(webview, real_location_of_file);
return WEBKIT_NAVIGATION_RESPONSE_IGNORE;
}
/* etc. */
这似乎工作正常,除非该方案在<img>
标签中使用,例如:<img src="custom://myfile.png">
,显然这些不通过navigation-requested
信号。
在我看来,应该有某种方法可以使用 Webkit 为自定义 URL 方案注册处理程序。这可能吗?