【发布时间】:2011-03-15 09:17:51
【问题描述】:
假设我想在 GTK 中使用WebKitWebView 来显示一些静态 HTML 页面。这些页面使用自定义 URL 方案,我们称之为custom://。此方案表示在生成 HTML 时事先不知道其位置的本地文件。我要做的是连接到 webview 的navigation-requested 信号,然后这样做:
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 方案注册一个处理程序。这可能吗?
【问题讨论】:
标签: webkit gtk url-scheme