【发布时间】:2013-08-23 06:44:03
【问题描述】:
我想根据css、script、img等资源的类型来控制资源下载。
我正在测试从 loacl 加载 html 并使用 WebkitGtk 操作 DOM 的东西。 我可以通过 WebkitGtk 从本地文件加载 html。
但如您所知,有一些资源可供下载,例如 img、css 或脚本。我根本不想下载那些。 对于 img 和 script,我可以通过设置 WebKitWebSettings (的 WebkitGtk )来做到这一点。
但是没有办法在 WebKitWebSettings 中阻止 css。 所以我尝试通过挂钩“resource-request-starting”信号来做到这一点。
static void loadStatusCb(WebKitWebView *web_view, GParamSpec *pspec, void* context);
我可以通过挂钩来阻止所有网络请求。 但我不想阻止所有资源下载。 我要阻止取决于类型(css、script、img、...)
例如,如果 test_file 请求来自
<link type="text/css" rel="stylesheet" href="http://test.com/test_file">
我会阻止。因为是css。
但是从
<script type="text/javascript" src="http://test.com/test_file"></script>
我不会阻止。
我试图从 WebKitWebRequest 的 SoupMessage 中获取任何信息。但我无法获得任何信息,但不是 uri。
如果您知道任何方法可以做到这一点,请回复。 提前致谢。
【问题讨论】: