Скажем, я хочу использовать a WebKitWebView
в GTK для отображения некоторых статических страниц 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
сигнал.
Это кажется мне должен быть некоторый способ зарегистрировать обработчик для пользовательской схемы URL с WebKit. Действительно ли это возможно?
Я больше знаком с портом WebKit на Chromium, но считаю, что вам может понадобиться использовать webkit_web_resource_get_uri
(см. webkitwebresource.h ) для обработки таких ресурсов, как изображения.