WebView与JS交互问题重现
2015-05-21 09:23
288 查看
希望广大网友转载此文章,里面重现了一个iOS交互问题,希望看到的大神帮忙解惑,不胜感激;
公司这几天一直在搞iOS客户端与JS的交互,有一个问题一直搞不明白,在此重现;
首先是通过截获Html5页面的点击事件,事件截获后我们要通过
[webViewstringByEvaluatingJavaScriptFromString:@"alert('test');"];来弹出一个JS弹出框来测试截获事件的成功;
然后普通这样的情况下是没有问题的,然而问题并不是在这里;
我们截获某按钮,比方说该按键是用来弹出一个iOS系统的ActionSheet,在这里我们用iOS8中的UIAlertController来解决,
UIAlertController* choose_vc = [UIAlertControlleralertControllerWithTitle:nil message:nilpreferredStyle:UIAlertControllerStyleActionSheet];
[choose addAction:[UIAlertAction actionWithTitle:@"测试"style:UIAlertActionStyleDefault handler:^(UIAlertAction *action){
//问题出现在这里,同样的我们在action的回调方法中使用上述弹出测试框
[webViewstringByEvaluatingJavaScriptFromString:@"alert('test');"];
}];
那么这里问题来了,框体如我们所愿的弹出来了,可是我们发现弹出后的框体不能确定了,整个界面完全停滞,无法再进行操作;
于是我们又进行了处理,将上述回调方法中的弹出方法写在用单线程处理后的方法中,如下,
[weak_selfperformSelector:@selector(evaluateJavaScrpt:) withObject:scriptafterDelay:0.0];
- (void)evaluateJavaScrpt:(NSString*)script
{
[WebViewstringByEvaluatingJavaScriptFromString:@"alert('test')!"];
}
问题解决了,然而这却让我陷入了思考,经查证未果,现记在这里,希望以后会碰到,有机会再做解决,当前理解可能是因为某个线程的runloop停止了;
公司这几天一直在搞iOS客户端与JS的交互,有一个问题一直搞不明白,在此重现;
首先是通过截获Html5页面的点击事件,事件截获后我们要通过
[webViewstringByEvaluatingJavaScriptFromString:@"alert('test');"];来弹出一个JS弹出框来测试截获事件的成功;
然后普通这样的情况下是没有问题的,然而问题并不是在这里;
我们截获某按钮,比方说该按键是用来弹出一个iOS系统的ActionSheet,在这里我们用iOS8中的UIAlertController来解决,
UIAlertController* choose_vc = [UIAlertControlleralertControllerWithTitle:nil message:nilpreferredStyle:UIAlertControllerStyleActionSheet];
[choose addAction:[UIAlertAction actionWithTitle:@"测试"style:UIAlertActionStyleDefault handler:^(UIAlertAction *action){
//问题出现在这里,同样的我们在action的回调方法中使用上述弹出测试框
[webViewstringByEvaluatingJavaScriptFromString:@"alert('test');"];
}];
那么这里问题来了,框体如我们所愿的弹出来了,可是我们发现弹出后的框体不能确定了,整个界面完全停滞,无法再进行操作;
于是我们又进行了处理,将上述回调方法中的弹出方法写在用单线程处理后的方法中,如下,
[weak_selfperformSelector:@selector(evaluateJavaScrpt:) withObject:scriptafterDelay:0.0];
- (void)evaluateJavaScrpt:(NSString*)script
{
[WebViewstringByEvaluatingJavaScriptFromString:@"alert('test')!"];
}
问题解决了,然而这却让我陷入了思考,经查证未果,现记在这里,希望以后会碰到,有机会再做解决,当前理解可能是因为某个线程的runloop停止了;
相关文章推荐
- android studio混淆打包,解决webview和js的交互问题
- activitygroup的子activity中嵌套webview,利用webview与js交互,在实现js点击的内部类代码中实现activity跳转出现的线程问题
- 解决Android签名混淆后WebView与JS交互失效的问题
- IOS UIWebView转WKWebView中的js交互问题
- Android 中 WebView 与 js 简单交互实现图文混排效果,解决图片自适应屏幕与查看大图问题
- Android JS与WebView交互存在的一些问题
- 安卓学习笔记---解决Android签名混淆后WebView与JS交互失效的问题
- android WebView与JS交互以及需要注意问题
- Android开发中webView的使用以及与js交互传值问题
- iOS WKWebView与JS交互及不能释放问题
- android与js交互,以及webview漏洞修复问题
- webview与js交互 问题一
- WKWebView 基本使用及与JS交互,以及低版本系统崩溃问题解决
- JS与WebView交互存在的一些问题
- wkwebview 开发中遇到的问题-加载时机和js的交互
- Android WebView与js交互的问题记录
- 解决Android签名混淆后WebView与JS交互失效的问题
- webview js 交互问题
- webview 笔记二(android和js交互、包括链接跳转常见问题处理,加载监视,拦截Url等)
- Android WebView JS交互 混淆打包需要注意的问题