IOS - UIWebview - 获取点击链接的 URL 并编辑 url
Posted
技术标签:
【中文标题】IOS - UIWebview - 获取点击链接的 URL 并编辑 url【英文标题】:IOS - UIWebview - Get the URL of the link clicked and edit the url 【发布时间】:2013-07-04 16:00:51 【问题描述】:我正在创建一个具有 web 视图的应用程序。当用户单击 webview 中的链接或按钮时,我希望能够获取新的 url,并编辑新的 url。
首先我使用以下 url 初始化 webview:
- (void)viewDidLoad
NSString *id = @"12212323";
[super viewDidLoad];
NSString *fullURL = [[NSString alloc] initWithFormat:@"www.website.com/index.php?id=%@", id];
NSURL *url = [NSURL URLWithString:fullURL];
NSURLRequest *requestObj = [NSURLRequest requestWithURL:url];
[webView loadRequest:requestObj];
当我点击链接时,例如 www.website.com/contact.php
然后我用 www.website.com/contact.php*?id=12212323*
编辑新网址我需要在所有 url 中保留 id 参数。
【问题讨论】:
想让 URL 可见吗?如果你编辑就像一个网络浏览器? 不,我不想让用户看到它。 【参考方案1】:UIWebViewDelegateProtocol 应该符合您的要求。
特别是方法- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType
【讨论】:
谢谢,不过我刚试了一下,在方法里面放了一些 NSLog 但它从不调用那个方法 你应该选择代表【参考方案2】:这是获取当前 URL 的代码
- (void)viewDidLoad
NSString *id = @"12212323";
[super viewDidLoad];
NSString *fullURL = [[NSString alloc] initWithFormat:@"www.website.com/index.php?id=%@", id];
NSURL *url = [NSURL URLWithString:fullURL];
NSURLRequest *requestObj = [NSURLRequest requestWithURL:url];
[webView loadRequest:requestObj];
NSURL *currentURL = [requestObj URL];
NSLog(@"Current URL is %@", currentURL.absoluteString);
但是要创建一个隐藏或不隐藏的 URL 栏是很多代码,你可以从 YouTube 上的这个教程开始,很简单而且效果很好,可能会给你其他的想法来做好工作;)
Web Browser Tutorial
希望对你有帮助
【讨论】:
以上是关于IOS - UIWebview - 获取点击链接的 URL 并编辑 url的主要内容,如果未能解决你的问题,请参考以下文章