修改警报()标题(Android Webview中的Javascript)
截图:修改警报()标题(Android Webview中的Javascript),javascript,android,webview,Javascript,Android,Webview,截图: 是否仍要修改警报框标题?任何帮助都将不胜感激。:) 实际上,您可以使用以下代码将其封装: final Context myApp=this; webView.setWebChromeClient(new WebChromeClient(){ @Override public boolean onJsAlert(WebView view, String url, String message, final android.webkit.JsResult r
是否仍要修改警报框标题?任何帮助都将不胜感激。:) 实际上,您可以使用以下代码将其封装:
final Context myApp=this;
webView.setWebChromeClient(new WebChromeClient(){
@Override
public boolean onJsAlert(WebView view, String url, String message, final android.webkit.JsResult result)
{
new AlertDialog.Builder(myApp)
.setTitle("Simmon says...")
.setMessage(message)
.setPositiveButton(android.R.string.ok,
new AlertDialog.OnClickListener()
{
public void onClick(DialogInterface dialog, int wicht)
{
result.confirm();
}
}).setCancelable(false)
.create()
.show();
return true;
};
});
代码源
gl@Pointy表示,由于浏览器的安全措施,这是不可能的 是的,这是可能的,我做到了
webview.setWebChromeClient(new WebChromeClient() {
public boolean onJsAlert(WebView view, String url, String message, final android.webkit.JsResult result)
{
new AlertDialog.Builder(activity)
.setTitle("Calendário App...")
.setMessage(message)
.setPositiveButton(android.R.string.ok,
new AlertDialog.OnClickListener()
{
public void onClick(DialogInterface dialog, int wicht)
{
result.confirm();
}
}).setCancelable(false)
.create()
.show();
return true;
};
});
js警报有三种类型:
- 警报框-带有“确定”按钮继续
- 确认框-带有确定和取消按钮
- 提示框-从用户处获取一个值,然后选择确定/取消
- 对警报框使用onJsAlert
- 对于confirbox,使用onJsConfirm
- 对提示框使用onJsPrompt
不,你无法控制。浏览器将其作为安全措施。不知道为什么,但在我的应用程序中忽略了此方法。不知道为什么,但在我的应用程序中也忽略了此方法。@LuisA.Florit在我看来,可能是onJsComfirm get调用而不是onJsAlert。
webViewLayout.setWebChromeClient(new WebChromeClient(){
@Override
public boolean onJsConfirm(WebView view, String url, String message, final JsResult result) {
AlertDialog dialog =new AlertDialog.Builder(view.getContext()).
setTitle("Confirm").
setIcon(ContextCompat.getDrawable(view.getContext(),R.drawable.image)).
setMessage(message).
setNegativeButton("No", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
result.cancel();
}
}).
setPositiveButton("Yes", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
FlashMessage("JS");
result.confirm();
}
})
.create();
dialog.show();
return true;
}
});