在哪里重写shouldStartLoadWithRequest方法?

时间:2016-12-23 08:18:25

标签: ios cordova

我最近更新了cordova 6.0。在我的MainViewController代码中我实现了shouldStartLoadWithRequest UIWebViewDelegate方法来做一些基本的过滤。现在6.0改变了。整个url处理在内部完成(来自私人文件夹的类),我不想更改它们,因为它会在下次更新时中断。 那么现在我的项目代码中的哪个地方告诉cordova允许或不允许特定请求?

3 个答案:

答案 0 :(得分:1)

在深入了解cordova代码和一些调试后,我找到了一种方法来保持cordova代码不受影响并拦截请求。处理请求时,Cordova会检查响应

的所有插件
- (BOOL)shouldOverrideLoadWithRequest:(NSURLRequest*)request navigationType:(UIWebViewNavigationType)navigationType

并且取决于返回值允许或阻止请求。所以我创建了一个只有该方法的小插件,如果请求应该像cordova一样正常处理,则返回YES,或者NO来阻止它并自行处理。

答案 1 :(得分:0)

您可以使用原生cordova whitelisting

答案 2 :(得分:0)

您可以通过扩展CDVViewController并实现接口UIWebViewDelegate来创建Controller。 Cordova将调用您的委托方法,并依赖于它将继续的返回值。

@interface MainViewController:CDVViewController< UIWebViewDelegate>

@end