我有一个带有PDF文件的WebView,其中的文档包含我要禁用的超链接。我尝试使用这种方法,但它不起作用,链接仍然打开并加载令人讨厌的URL:
- 我将
UIWebViewDelegate
放入ViewController.h
- 然后我将此代码放入
醇>ViewController.m
:
- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType
{
if (webView == myReadingArticlesWebView) {
return NO;
}
else {
return YES;
}
}
任何想法如何使这简单易行?我承认我在上述过程中可能会犯一些错误。
编辑:
- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType
{
if ([request.URL isFileReferenceURL]) {
return YES;
} else {
return NO;
}
}
上面的代码对我也没有任何帮助
答案 0 :(得分:3)
只需将UIWebView
的{{1}}媒体资源设为无:
dataDetectorTypes
答案 1 :(得分:1)
基于来回的所有评论!!!
所以现在你需要做的不是简单地在你的
中返回NOshouldStartLoadWithRequest
方法,如果正在加载的URL来自本地,则需要回答“是”,如果来自其他任何地方,则需要“否”。使用
[request.URL isFileReferenceURL]
检查它是否是本地文件的方法。注意:此方法显然仅适用于iOS 5及更高版本,请查看
希望这能为你做到: - )
答案 2 :(得分:0)
如果正如trumpetlicks所说,PDF查看器忽略了你从shouldStartLoadWithRequest中所说的内容,并且你不想禁用所有链接(设置数据检测器会这样做)。
然后您可以尝试的其他内容是创建一个派生自NSURLProtocol的类,并在您的app委托中注册它。这将能够拦截源自pdf的网络流量,并让您有机会过滤链接并阻止您不想出去的链接。