Вопрос по javascript, android – Изменить заголовок alert () (Javascript в Android Webview)

8

Скриншот:Страница в файле: //

Есть ли способ изменить заголовок окна предупреждения? Любая помощь будет оценена. :)

Нет, вы не можете это контролировать. Браузер делает это в качестве меры безопасности. Pointy

Ваш Ответ

4   ответа
1

Есть3 типы js-оповещений:

  • alert box - with an Ok button to proceed.
  • confirm box - with both OK and cancel button.
  • prompt box - get a value from the user and then select OK/Cancel.

  • Use onJsAlert for alertBox .
  • Use onJsConfirm for confirmBox .
  • Use onJsPrompt for promptBox

I have added the sample code for onJsConfirm,

        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;
        }
    });
Работает для меня. Это должен быть принятый ответ.
0

Да, это возможно, я сделал это

   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;
        };
            });
Не знаю почему, но этот метод также игнорируется в моем приложении.
@ LuisA.Florit По-моему, может быть, это было вызвано onJsComfirm вместо onJsAlert.
1

@Pointy говорит, что это невозможно из-за мер безопасности браузера.

11

На самом деле вы можете обернуть его, используя следующий код:

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

Исходный кодВот

Г.Л.

Не знаю почему, но этот метод игнорируется в моем приложении.
работал для меня с копией & amp; вставить вonCreate()

Похожие вопросы