iOS 如何知道 html5 按钮是否被点击加载到 UIWebView
iOS how to know if the html5 button was clicked loaded on an UIWebView
我有一个带有 UIWebView 的 iOS 应用程序,我需要从服务器端接收 href url,然后显示来自该 href 的 HTML5 网页在我的 UIWebView 中:
MyViewController *myVC = [[MyViewController alloc] init];
myVC.url = serverSideResponse.href;
[self.navigationController presentViewController:myVC animated:YES completion:nil];
在 MyViewController.m 中,我有这个:
_webView = [[UIWebView alloc] initWithFrame:myFrame];
[self.view addSubView:_webView];
NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:url]];
[_webView loadRequest:request];
所以网页来自服务器端,我希望我的 iOS app/webview 知道是否在该页面上单击了按钮。更具体地说,如果单击该按钮,那么我将关闭我的 webview(意味着 removeFromSuperView)。
现在我能看到的是,当我检查那个网页的源代码时,我知道了按钮 ID。
我收到的 url 是:https://api.uber.com/v1/surge-confirmations/edbfdd9a-276b-4b85-b3f4-5a0c948a17fe
。当我在我的网络视图中加载它时,它有一个按钮,当我点击它时没有任何反应,只有控制台记录了点击事件并且请求是:https://api.uber.com/v1/surge-confirmations/edbfdd9a-276b-4b85-b3f4-5a0c948a17fe#
<--有一个额外的 #
.
但是当我把 url 放在桌面浏览器中显示它并单击按钮时,它可以按预期重定向到下一个 url (https://www.uber.com
)。
请指教,谢谢!
感谢@Wain 和@palme,我找到了其中一种 UIWebView 委托回调方法
-(BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType
可以做到这一点。
参数request
和navigationType
可以告诉你什么navigationType触发了什么请求。
我有一个带有 UIWebView 的 iOS 应用程序,我需要从服务器端接收 href url,然后显示来自该 href 的 HTML5 网页在我的 UIWebView 中:
MyViewController *myVC = [[MyViewController alloc] init];
myVC.url = serverSideResponse.href;
[self.navigationController presentViewController:myVC animated:YES completion:nil];
在 MyViewController.m 中,我有这个:
_webView = [[UIWebView alloc] initWithFrame:myFrame];
[self.view addSubView:_webView];
NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:url]];
[_webView loadRequest:request];
所以网页来自服务器端,我希望我的 iOS app/webview 知道是否在该页面上单击了按钮。更具体地说,如果单击该按钮,那么我将关闭我的 webview(意味着 removeFromSuperView)。
现在我能看到的是,当我检查那个网页的源代码时,我知道了按钮 ID。
我收到的 url 是:https://api.uber.com/v1/surge-confirmations/edbfdd9a-276b-4b85-b3f4-5a0c948a17fe
。当我在我的网络视图中加载它时,它有一个按钮,当我点击它时没有任何反应,只有控制台记录了点击事件并且请求是:https://api.uber.com/v1/surge-confirmations/edbfdd9a-276b-4b85-b3f4-5a0c948a17fe#
<--有一个额外的 #
.
但是当我把 url 放在桌面浏览器中显示它并单击按钮时,它可以按预期重定向到下一个 url (https://www.uber.com
)。
请指教,谢谢!
感谢@Wain 和@palme,我找到了其中一种 UIWebView 委托回调方法
-(BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType
可以做到这一点。
参数request
和navigationType
可以告诉你什么navigationType触发了什么请求。