gpt4 book ai didi

ios - 获取2个uiwebview的url,放到各自的地址栏

转载 作者:行者123 更新时间:2023-11-28 23:10:42 26 4
gpt4 key购买 nike

在我的应用程序中,我有 2 个 UIWebView 和 2 个地址栏,分别称为 WebView 和 WebView2、webAdress 和 webAdress2。我需要从 WebView 获取 url 并将其放入 webAdress,然后从 WebView2 获取 url 并将其放入 webAdress2。

当我使用此代码时,URL 更新仅出现在第一个 webAdress 中,来自 WebView2 apperas 的 url 也出现在第一个 webAdress 中。此外,WebView2 中的所有页面开始加载到 WebView 中。

    - (BOOL)webView:(UIWebView*)webView shouldStartLoadWithRequest:(NSURLRequest*)request navigationType:(UIWebViewNavigationType)navigationType {
//CAPTURE USER LINK-CLICK.
if (navigationType == UIWebViewNavigationTypeLinkClicked) {
NSURL *URL = [request URL];
if ([[URL scheme] isEqualToString:@"http"]) {
[webAdress setText:[URL absoluteString]];
[self gotoAddress:nil];
}
return NO;
}
return YES;
}

- (BOOL)webView2:(UIWebView*)webView2 shouldStartLoadWithRequest:(NSURLRequest*)request navigationType:(UIWebViewNavigationType)navigationType {
//CAPTURE USER LINK-CLICK.
if (navigationType == UIWebViewNavigationTypeLinkClicked) {
NSURL *URL = [request URL];
if ([[URL scheme] isEqualToString:@"http"]) {
[webAdress2 setText:[URL absoluteString]];
[self gotoAddress2:nil];
}
return NO;
}
return YES;
}

最佳答案

我想您只需要一个委托(delegate)方法。检查哪个 webview 触发了这个委托(delegate)方法并根据此执行操作:

- (BOOL)webView:(UIWebView*)webView shouldStartLoadWithRequest:(NSURLRequest*)request navigationType:(UIWebViewNavigationType)navigationType {
//CAPTURE USER LINK-CLICK.
if (navigationType == UIWebViewNavigationTypeLinkClicked) {
NSURL *URL = [request URL];
if ([[URL scheme] isEqualToString:@"http"]) {
if (webView == webView1)
[webAdress setText:[URL absoluteString]];
if (webView == webView2)
[webAdress2 setText:[URL absoluteString]];
[self gotoAddress2:nil];
}
return NO;
}
return YES;
}

只需将所有 web view delegate 设置为 self,您就可以在该方法中处理所有操作。

关于ios - 获取2个uiwebview的url,放到各自的地址栏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8344278/

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