- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我已经覆盖了我的 WebChromeClient 的 onJsAlert 行为,例如:
WebChromeClient wvcc = new WebChromeClient() {
@Override
public boolean onJsAlert(WebView view, String url, String message, final JsResult result) {
//...
return true;
}
}
我的应用程序成功处理了 Js 警报并抑制了原始警报。但是,在警报事件发生后,我无法再在我的网页 View 中的网页上单击我的按钮(在 ListView 的列表项中)。我目前正在使用 jquery mobile 来构建我的网站。
还有什么我应该注意的吗?
最佳答案
我刚刚遇到了完全相同的问题。我想生成一个自定义的 android 对话框而不是警报,这是最终的解决方案:
myWebView.setWebChromeClient(new WebChromeClient() {
@Override
public boolean onJsAlert(WebView view, final String url, String message,
JsResult result) {
AlertDialog.Builder builder = new AlertDialog.Builder(
MainActivity.this);
builder.setMessage(message)
.setNeutralButton("OK", new OnClickListener() {
@Override
public void onClick(DialogInterface arg0, int arg1) {
arg0.dismiss();
}
}).show();
result.cancel();
return true;
}
});
关键是 result.cancel();
和 return true;
,我测试了几种组合,唯一没有触发默认 JS 警报的组合并且没有导致触摸问题是这种组合
关于onJsAlert 不响应水龙头后的 Android webview,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15892644/
我正在打电话 webView.loadUrl("javascript:alert(javascriptFunc())); webView.setUpWebChromeClient( new WebCh
我有一个安装了 WebChromeClient 的 android webview。在网页中执行特定操作后,我创建了一个带有消息的 javascript 警报,该消息被传递回 onJsAlert 方法
我在 WebView 中运行 JS 脚本。该脚本向 WebView 发出一条消息提醒,我想在我的应用程序中接收它。问题是 onJSAlert 没有被调用,我也不能在定义方法时使用 @Override
我已经覆盖了我的 WebChromeClient 的 onJsAlert 行为,例如: WebChromeClient wvcc = new WebChromeClient() {
我是一名优秀的程序员,十分优秀!