拦截webkit-sharp中的导航

时间:2010-12-04 23:45:03

标签: webkit

我正在调查是否可以将webkit-sharp用于我的申请。

我需要的主要功能是能够处理自定义URI:我希望拦截链接点击并自行处理,例如致电WebView.LoadHtmlString。我怀疑这可以用WebView.NavigationRequested事件完成,但我没有立即看到一种方法来抑制正常的URI处理。我也找不到webkit-sharp或webkit本身的任何参考文档。

可以吗?

2 个答案:

答案 0 :(得分:4)

显然要禁止正常的URI处理,你必须将事件参数对象的NavigationRequestedEventArgs.RetVal设置为1,这是webkit头文件中WEBKIT_NAVIGATION_RESPONSE_IGNORE的值。

答案 1 :(得分:0)

我知道在WebKit的Objective-C界面中,您可以使用此WebPolicyDelegate方法:

- (void)webView:(WebView *)sender decidePolicyForNavigationAction:(NSDictionary *)actionInformation request:(NSURLRequest *)request frame:(WebFrame *)frame decisionListener:(id<WebPolicyDecisionListener>)listener

如果您想自己处理导航,请使用:

[listener ignore];

如果您想要使用默认行为:

[listener use];

在我输入这个内容时,你几乎已经发现了你的webkit-sharp实现。