当前位置:  开发笔记 > 前端 > 正文

如何在Webkit GTK中处理自定义URL方案?

如何解决《如何在WebkitGTK中处理自定义URL方案?》经验,为你挑选了1个好方法。

假设我想WebKitWebView在GTK中使用一个静态HTML页面.这些页面使用自定义URL方案,让我们调用它custom://.此方案表示在生成HTML时其位置未知的本地文件.我所做的是连接到navigation-requestedwebview 的信号,并执行以下操作:

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. */

这似乎工作正常,除非该方案用于标签,例如:,显然这些不通过navigation-requested信号.

在我看来应该有一些方法来为Webkit注册自定义URL方案的处理程序.这可能吗?



1> Emerick Rogu..:

我对WebKit的Chromium端口比较熟悉,但我相信您可能需要使用webkit_web_resource_get_uri(请参阅webkitwebresource.h)来处理图像等资源.


谢谢,这是我需要的正确方向的指针.为了完整起见,答案是连接到webview的`resource-request-starting`信号,并从该处理程序中使用`webkit_web_resource_get_uri()`进行操作.(请注意,这仅适用于webkit> = 1.1.14.)
推荐阅读
夏晶阳--艺术
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有