테스트 사이트 - 개발 중인 베타 버전입니다

안드로이드 웹앱 연습중인데 자바스크립트 alert 반응문제에 대해 질문드립니다.

01 package com.test.test;
02  
03 import android.support.v7.app.AppCompatActivity;
04 import android.os.Bundle;
05 import android.webkit.WebResourceRequest;
06 import android.webkit.WebView;
07 import android.webkit.WebViewClient;
08  
09  
10 public class MainActivity extends AppCompatActivity {
11  
12     WebView ourBrow;
13  
14     @Override
15     protected void onCreate(Bundle savedInstanceState) {
16         super.onCreate(savedInstanceState);
17         setContentView(R.layout.activity_main);
18  
19         ourBrow = (WebView) findViewById(R.id.webview);
20         ourBrow.setWebViewClient(new MyBrowser());
21         ourBrow.getSettings().setJavaScriptEnabled(true);
22         ourBrow.loadUrl("http://www.test.com");
23     }
24     private  class MyBrowser extends WebViewClient {
25         @Override
26         public boolean shouldOverrideUrlLoading(WebView view, String url) {
27             view.loadUrl(url);
28             return true;
29         }
30     }
31 }


 

 

로그인 화면등에서 비밀번호가 틀리거나 했을때 alrert가 떠야하는데 아무 반응이 없이 넘어가지가 않네요

 

final Context myApp = this;

 

browser.setWebChromeClient(new WebChromeClient() {

    @Override

    public boolean onJsAlert(WebView view, String url, String message, final android.webkit.JsResult result)

    {

        new AlertDialog.Builder(myApp)

            .setTitle("AlertDialog")

            .setMessage(message)

            .setPositiveButton(android.R.string.ok,

                    new AlertDialog.OnClickListener()

                    {

                        public void onClick(DialogInterface dialog, int which)

                        {

                            result.confirm();

                        }

                    })

            .setCancelable(false)

            .create()

            .show();

 

        return true;

    };

});

 

를 사용해서

ourBrow.getSettings().setJavaScriptEnabled(true); 과 ourBrow.loadUrl("http://www.test.com"); 줄 사이에

적용을 해봤는데 도무지 수정이 힘들어서 질문드립니다.

댓글 작성

댓글을 작성하시려면 로그인이 필요합니다.

로그인하기

댓글 2개

웹앱이 아니라 WebView죠? 자바는 잘 몰라서.. 참고로 react native로 https://github.com/greatbsky/react-native-webview2
https://github.com/lucasferreira/react-native-webview-android
올려드립니다.
레이어로 뜨는 sweetalert 자바스크립트 라이브러리 사용하시면 됩니다 ^^
lib에 보시면 alert 뜨게하는 부분이 있는데 이부분을 sweetalert 로 바꾸시고 개별페이지에서 뜨는 부분들은 각각 수정하시면 됩니다.

게시판 목록

앱개발

글쓰기
🐛 버그신고