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);