计算是否在webView上单击了链接-iPhone
我使用自定义webview在用户触摸webview时显示选项卡栏。但当我在webview中单击链接时,tabbar会显示一段时间,然后页面加载。我正在使用此自定义webview检测触摸: 我可以检测链接是否被点击吗?因为webview上有一个链接,所以webview会检测到触摸并加载页面。。。我想阻止它计算是否在webView上单击了链接-iPhone,iphone,objective-c,uiwebview,webview,Iphone,Objective C,Uiwebview,Webview,我使用自定义webview在用户触摸webview时显示选项卡栏。但当我在webview中单击链接时,tabbar会显示一段时间,然后页面加载。我正在使用此自定义webview检测触摸: 我可以检测链接是否被点击吗?因为webview上有一个链接,所以webview会检测到触摸并加载页面。。。我想阻止它 提前感谢。使用Javascript 我不会阻止页面加载,而是将Javascript注入到webview中,这样触摸链接就不会有任何作用 不久前我有一个类似的问题。不要禁用所有链接(如另一个问题)
提前感谢。使用Javascript 我不会阻止页面加载,而是将Javascript注入到webview中,这样触摸链接就不会有任何作用 不久前我有一个类似的问题。不要禁用所有链接(如另一个问题),只需查找要禁用的特定链接,然后删除其
href
属性
使用UIWebview委托
或者,如果您希望能够响应试图单击链接的用户(可能是为了给他们一条消息),您可以设置UIWebview的委托并实现该方法,如果试图加载的URL是您想要阻止的URL,则返回NO
另一方面,通常最好的做法是保留一个白名单,而不是黑名单来进行这种排除。与其阻止你不想要的链接,不如阻止所有链接,除了那些你知道可以安全导航的链接。好的,我做了一个解决办法,自己解决了 我的链接位于页面的顶部和底部,因此我通过以下代码获得屏幕坐标,如果pos.y
UITouch * touch = [touches anyObject];
CGPoint pos = [touch locationInView: [UIApplication sharedApplication].keyWindow];
NSLog(@"Position of touch: %.3f, %.3f", pos.x, pos.y);
希望这对某人有所帮助…UIWebViewNavigationTypeLinkClicked=告诉您何时单击了链接。 只检查一下你的电话 self.webView.delegate=self
- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType {
if (navigationType == UIWebViewNavigationTypeLinkClicked) {
[[UIApplication sharedApplication] openURL:request.URL];
return NO;
}
return YES;
}
实际上我想阻止显示tabbar,而不是加载页面。。。当用户触摸webview时,如果它是触摸的链接,那么我不想显示选项卡栏,但如果它不是链接,我想显示选项卡栏。。。希望现在更清楚。