B K*_*B K 31 javascript iphone onclick uiwebview ios
我有一个HTML表单,其中包含我在UIWebview中打开的某些字段.点击特定按钮后,我想进行应用操作.
我现在使用的方法是点击按钮,我将页面重定向到虚拟URL.我使用委托方法"shouldStartLoadWithRequest"嗅探URL并停止重定向.然后,我做我的自定义事件(捕获图像和上传),然后继续.这似乎是一个丑陋的黑客.无论如何,我可以直接挂钩按钮点击事件而不是页面重定向?
更新 当按钮单击调用JS函数时,似乎无法设置要触发的委托方法.唯一的方法是使用上面提到的URL嗅探方法.这个已经由joern在下面详细解释过,所以我会接受他的回答.
joe*_*ern 59
您可以执行以下操作:
在您的HTML中
<a class="yourButton" href="inapp://capture">Button Text</a>
Run Code Online (Sandbox Code Playgroud)
在您的UIWebViewDelegate中
- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType {
if ([request.URL.scheme isEqualToString:@"inapp"]) {
if ([request.URL.host isEqualToString:@"capture"]) {
// do capture action
}
return NO;
}
return YES;
}
Run Code Online (Sandbox Code Playgroud)
我将"捕获"添加到按钮的URL中,以便您可以区分应该触发不同操作的几个按钮(如果您愿意):
| 归档时间: |
|
| 查看次数: |
35471 次 |
| 最近记录: |