iphone – 在uiwebview中的JavaScript事件处理程序
发布时间:2020-12-15 01:40:21 所属栏目:百科 来源:网络整理
导读:我在iPhone应用程序中显示一个UIWebView.在UIWebView中,我正在显示还有JavaScript的HTML页面.当HTML页面中单击一个按钮时,我想调用X代码的方法. 我该怎么做 谢谢 解决方法 如果我正确的理解你的问题,你想从UIWebView中的javascript onClick事件处理程序调用O
我在iPhone应用程序中显示一个UIWebView.在UIWebView中,我正在显示还有JavaScript的HTML页面.当HTML页面中单击一个按钮时,我想调用X代码的方法.
我该怎么做 解决方法
如果我正确的理解你的问题,你想从UIWebView中的javascript onClick事件处理程序调用Objective C方法.这样做的方法是将浏览器重定向到您的JavaScript代码中的自定义方案的URL,如下所示:
function buttonClicked() { window.location.href = "yourapp://buttonClicked"; } 回到Objective C,声明您的视图控制器符合UIWebViewDelegate协议, @interface DTWebViewController : DTViewController <UIWebViewDelegate> { ... 将您的控制器设置为Web视图的代理, - (void)viewDidLoad { [super viewDidLoad]; self.webView.delegate = self; } 并在加载之前拦截URL,如下所示: - (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType { if ([[request.URL scheme] isEqual:@"yourapp"]) { if ([[request.URL host] isEqual:@"buttonClicked"]) { [self callYourMethodHere]; } return NO; // Tells the webView not to load the URL } else { return YES; // Tells the webView to go ahead and load the URL } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |