gpt4 book ai didi

iphone - WebView 和覆盖链接的问题

转载 作者:行者123 更新时间:2023-11-29 04:50:53 24 4
gpt4 key购买 nike

我有一个 UIWebView,其中某些部分有 <a href="" > <img src="" </a>在里面。我已经向此 UIWebView 添加了 UITapGesture ,所以我想要的基本上是当用户点击图像时,它不会将您带到指向它的链接,而是执行某些操作。我在阻止图像转到它指向的超链接时遇到问题。任何想法?我尝试注入(inject) javascript,以便当用户点击图像时将 href 更改为一些虚假链接,然后点击:

- (BOOL)webView:(UIWebView *)webview shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType {

我检查了请求 URL 是否与我拥有的虚拟地址匹配。但是,这不起作用,由于某种原因,使用以下命令更改 href 链接:

NSString *stripLink = [NSString stringWithFormat:@"document.elementFromPoint(%f, %f).parentNode.href=%@", pt.x, pt.y, @"http://www.fakeurl.com"];
if ([self stringByEvaluatingJavaScriptFromString:stripLink] != nil){
NSString *testHref = [NSString stringWithFormat:@"document.elementFromPoint(%f, %f).parentNode.href", pt.x, pt.y];
NSLog(@"FINAL HREF IS %@", [self stringByEvaluatingJavaScriptFromString:testHref]);
}

还有其他想法吗?

最佳答案

如果您可以控制 HTML 源(听起来您确实可以控制?),那么您可以更改 href 以使用自定义 URI 方案,例如photo://然后您可以执行以下操作:

- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType
{
NSURL *url = [request URL];
if ([[url scheme] isEqualToString:@"photo"])
{
// Custom Handling Goes Here
return NO; // Stops the link being executed by UIWebView
} else
return YES;
}

但是,如果您无法控制 HTML 源代码,那么您可能需要采取一些更加狡猾的措施。例如。您可以检查路径的末尾并查看它是否是图像(jpg、png 等...)

关于iphone - WebView 和覆盖链接的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8872309/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com