Java源码示例:com.tencent.smtt.export.external.interfaces.JsResult
示例1
@Override
public boolean onJsAlert(WebView view, String url, final String message, final JsResult result) {
if(!alertBoxBlock){
result.confirm();
}
Dialog alertDialog = new AlertDialog.Builder(getContext()).
setMessage(message).
setCancelable(false).
setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
if(alertBoxBlock) {
result.confirm();
}
}
})
.create();
alertDialog.show();
return true;
}
示例2
@Override
public boolean onJsConfirm(WebView view, String url, String message, final JsResult result) {
if(!alertBoxBlock){
result.confirm();
}
DialogInterface.OnClickListener listener = new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
if(alertBoxBlock) {
if (which == Dialog.BUTTON_POSITIVE) {
result.confirm();
} else {
result.cancel();
}
}
}
};
new AlertDialog.Builder(getContext())
.setMessage(message)
.setCancelable(false)
.setPositiveButton(android.R.string.ok, listener)
.setNegativeButton(android.R.string.cancel, listener).show();
return true;
}
示例3
@Override
public boolean onJsAlert(WebView view, String url, String message, final JsResult result) {
if (!((EBrowserActivity) view.getContext()).isVisable()) {
result.confirm();
}
AlertDialog.Builder dia = new AlertDialog.Builder(view.getContext());
dia.setTitle(EUExUtil.getResStringID("prompt"));
dia.setMessage(message);
dia.setCancelable(false);
dia.setPositiveButton(EUExUtil.getResStringID("confirm"), new OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
result.confirm();
}
});
dia.create();
dia.show();
return true;
}
示例4
@Override
public boolean onJsAlert(WebView view, String url, String message, JsResult result) {
if (AgentWebX5Utils.isOverriedMethod(mWebChromeClient, "onJsAlert", "public boolean " + ChromePath + ".onJsAlert", WebView.class, String.class, String.class, JsResult.class)) {
return super.onJsAlert(view, url, message, result);
}
Activity mActivity = this.mActivityWeakReference.get();
if (mActivity == null||mActivity.isFinishing()) {
result.cancel();
return true;
}
//
try {
AgentWebX5Utils.show(view,
message,
Snackbar.LENGTH_SHORT,
Color.WHITE,
mActivity.getResources().getColor(R.color.black),
null,
-1,
null);
} catch (Throwable throwable) {
throwable.printStackTrace();
if(LogUtils.isDebug())
LogUtils.i(TAG,throwable.getMessage());
}
result.confirm();
return true;
}
示例5
@Override
public boolean onJsConfirm(WebView view, String url, String message, JsResult result) {
LogUtils.i(TAG, message);
if (AgentWebX5Utils.isOverriedMethod(mWebChromeClient, "onJsConfirm", "public boolean " + ChromePath + ".onJsConfirm", WebView.class, String.class, String.class, JsResult.class)) {
return super.onJsConfirm(view, url, message, result);
}
showJsConfirm(message, result);
return true; //
}
示例6
/**
* Tell the client to display a javascript alert dialog.
*/
@Override
public boolean onJsAlert(WebView view, String url, String message, final JsResult result) {
dialogsHelper.showAlert(message, new CordovaDialogsHelper.Result() {
@Override public void gotResult(boolean success, String value) {
if (success) {
result.confirm();
} else {
result.cancel();
}
}
});
return true;
}
示例7
/**
* Tell the client to display a confirm dialog to the user.
*/
@Override
public boolean onJsConfirm(WebView view, String url, String message, final JsResult result) {
dialogsHelper.showConfirm(message, new CordovaDialogsHelper.Result() {
@Override
public void gotResult(boolean success, String value) {
if (success) {
result.confirm();
} else {
result.cancel();
}
}
});
return true;
}
示例8
/**
* Tell the client to display a javascript alert dialog.
*/
public boolean onJsAlert(WebView view, String url, String message, final JsResult result) {
dialogsHelper.showAlert(message, new CordovaDialogsHelper.Result() {
@Override public void gotResult(boolean success, String value) {
if (success) {
result.confirm();
} else {
result.cancel();
}
}
});
return true;
}
示例9
/**
* Tell the client to display a confirm dialog to the user.
*/
public boolean onJsConfirm(WebView view, String url, String message, final JsResult result) {
dialogsHelper.showConfirm(message, new CordovaDialogsHelper.Result() {
@Override
public void gotResult(boolean success, String value) {
if (success) {
result.confirm();
} else {
result.cancel();
}
}
});
return true;
}
示例10
/**
* Tell the client to display a javascript alert dialog.
*/
@Override
public boolean onJsAlert(WebView view, String url, String message, final JsResult result) {
dialogsHelper.showAlert(message, new CordovaDialogsHelper.Result() {
@Override
public void gotResult(boolean success, String value) {
if (success) {
result.confirm();
} else {
result.cancel();
}
}
});
return true;
}
示例11
/**
* Tell the client to display a confirm dialog to the user.
*/
@Override
public boolean onJsConfirm(WebView view, String url, String message, final JsResult result) {
dialogsHelper.showConfirm(message, new CordovaDialogsHelper.Result() {
@Override
public void gotResult(boolean success, String value) {
if (success) {
result.confirm();
} else {
result.cancel();
}
}
});
return true;
}
示例12
/**
* Tell the client to display a javascript alert dialog.
*/
@Override
public boolean onJsAlert(WebView view, String url, String message, final JsResult result) {
dialogsHelper.showAlert(message, new CordovaDialogsHelper.Result() {
@Override public void gotResult(boolean success, String value) {
if (success) {
result.confirm();
} else {
result.cancel();
}
}
});
return true;
}
示例13
/**
* Tell the client to display a confirm dialog to the user.
*/
@Override
public boolean onJsConfirm(WebView view, String url, String message, final JsResult result) {
dialogsHelper.showConfirm(message, new CordovaDialogsHelper.Result() {
@Override
public void gotResult(boolean success, String value) {
if (success) {
result.confirm();
} else {
result.cancel();
}
}
});
return true;
}
示例14
public boolean onJsAlert(WebView view, String url, String message,
JsResult result) {
if (this.mRealWebChromeClient != null)
return this.mRealWebChromeClient.onJsAlert(view, url, message, result);
return super.onJsAlert(view,url,message,result);
}
示例15
public boolean onJsConfirm(WebView view, String url, String message,
JsResult result) {
if (this.mRealWebChromeClient != null)
return this.mRealWebChromeClient.onJsConfirm(view, url, message, result);
return super.onJsConfirm(view,url,message,result);
}
示例16
public boolean onJsBeforeUnload(WebView view, String url, String message,
JsResult result) {
if (this.mRealWebChromeClient != null)
return this.mRealWebChromeClient.onJsBeforeUnload(view, url, message, result);
return super.onJsBeforeUnload(view,url,message,result);
}
示例17
private void toCancelJsresult(JsResult result) {
if (result != null)
result.cancel();
}
示例18
@Override
public boolean onJsAlert(WebView view, String url, String message, JsResult result) {
return false;
}
示例19
@Override
public boolean onJsConfirm(WebView view, String url, String message, JsResult result) {
return false;
}
示例20
@Override
public boolean onJsBeforeUnload(WebView view, String url, String message, JsResult result) {
return false;
}
示例21
/**
* 处理alert弹出框
* 调用javascript的调试过程中,有时候需要使用onJsAlert来输出javascript方法的信息,以帮助进行问题定位。
* onJsAlert方法即可,为什么onJsAlert只调用了一次
* 发现onJsAlert只调用了一次,为什么呢,实际上,你可能忽略了一句调用.就是处理JsResult.
* 需要调用result.confirm()或者result.cancel()来处理jsResult,否则会出问题.
* @param webView view
* @param s s
* @param s1 s1
* @param jsResult jsResult,用于处理底层JS发起的请求,为客户端提供一些方法指明应进行的操作,比如确认或取消。
* @return
*/
@Override
public boolean onJsAlert(WebView webView, String s, String s1, JsResult jsResult) {
// 这里处理交互逻辑
// result.cancel(); 表示用户取消了操作(点击了取消按钮)
// result.confirm(); 表示用户确认了操作(点击了确认按钮)
// ...
// 返回true表示自已处理,返回false表示由系统处理
return super.onJsAlert(webView, s, s1, jsResult);
}
示例22
/**
* 处理confirm弹出框
* result.confirm() 和 return true 一起用,才能保证弹框不会出现。
* @param webView view
* @param s s
* @param s1 s1
* @param jsResult jsResult,用于处理底层JS发起的请求,为客户端提供一些方法指明应进行的操作,比如确认或取消。
* @return
*/
@Override
public boolean onJsConfirm(WebView webView, String s, String s1, JsResult jsResult) {
return super.onJsConfirm(webView, s, s1, jsResult);
}
示例23
/**
* 显示一个对话框让用户选择是否离开当前页面
* @param webView view
* @param s s
* @param s1 s1
* @param jsResult jsResult,用于处理底层JS发起的请求,为客户端提供一些方法指明应进行的操作,比如确认或取消。
* @return
*/
@Override
public boolean onJsBeforeUnload(WebView webView, String s, String s1, JsResult jsResult) {
return super.onJsBeforeUnload(webView, s, s1, jsResult);
}
示例24
boolean onJsAlert(WebView view, String url, String message, JsResult result);
示例25
boolean onJsConfirm(WebView view, String url, String message, JsResult result);
示例26
boolean onJsBeforeUnload(WebView view, String url, String message, JsResult result);