Android WebView에서 JavaScript 경고가 작동하지 않음
내 응용 프로그램 WebView
에서 사용 하고 있으며 JavaScript alert( )
방법 을 사용 하고 있지만 작동하지 않으면 팝업이 나타나지 않습니다.
내 매니페스트 파일에 추가했습니다.
<uses-permission android:name="android.permission.INTERNET"></uses-permission>
활동 파일에 추가했습니다.
mWebView = (WebView) findViewById(R.id.webview);
mWebView.getSettings().setJavaScriptEnabled(true);
mWebView.loadUrl("file:///android_asset/demo.html");
레이아웃 xml 파일에서 추가했습니다.
<WebView
android:id="@+id/webview"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
/>
전체를 활성화하는 방법에 대한 단서 JavaScript
가 WebView
있습니까?
최신 정보
감사 합니다 파일
의 alert()
방법 html
이 지금 작동하고 있습니다 :).
이제이 두 가지 문제가 있습니다 WebView
:
1 : 내가 사용하고 <textarea>
난에서로드 오전 HTML 파일에서 WebView
, 그 안에 힌디어 글꼴에 쓰기를 시도,하지만 난 그것을 기호로 표시 (사각형 기호와 같은 힌디어 텍스트를 작성하려고 할 때 [])
데스크탑의 firefox 브라우저에서 똑같이하면 잘 작동합니다. 에서 여러 언어를 지원하는 방법에 대한 단서 textarea
가 WebView
있습니까?
2 : 제출을 클릭 alert()
하고 다른 자바 스크립트 에서 메소드 의 텍스트 값을 열려고 할 때 작동하지 않습니다. WebChromeClient
현재로드 된 html 페이지에만 적용 javascripts
되고 해당 페이지에서 호출 되지 않은 경우에도 의미 합니까?
이 링크를 확인 하고 마지막 코멘트, 당신은 WebChromeClient
당신의 목적 을 위해 사용해야 합니다.
다른 사람들이 지적했듯이 WebChromeClient를 설정 alert()
해야 작동합니다. 기본 WebChromeClient ()를 설정하는 것으로 충분합니다.
mWebView.getSettings().setJavaScriptEnabled(true);
mWebView.setWebChromeClient(new WebChromeClient());
아래의 모든 의견에 감사드립니다. JavaScript를 활성화해야한다고 언급 한 John Smith를 포함합니다.
webView.setWebChromeClient(new WebChromeClient() {
@Override
public boolean onJsAlert(WebView view, String url, String message, JsResult result) {
return super.onJsAlert(view, url, message, result);
}
});
다음 코드가 작동합니다.
private WebView mWebView;
final Activity activity = this;
// private Button b;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mWebView = (WebView) findViewById(R.id.webview);
mWebView.getSettings().setJavaScriptEnabled(true);
mWebView.getSettings().setDomStorageEnabled(true);
mWebView.setWebChromeClient(new WebChromeClient() {
public void onProgressChanged(WebView view, int progress) {
activity.setProgress(progress * 1000);
}
});
mWebView.loadUrl("file:///android_asset/raw/NewFile1.html");
}
Just add
mWebview.setWebChromeClient(new WebChromeClient());
It will work.
You can try with this, it worked for me
WebView wb_previewSurvey=new WebView(this);
wb_previewSurvey.setWebChromeClient(new WebChromeClient() {
@Override
public boolean onJsAlert(WebView view, String url, String message, JsResult result) {
//Required functionality here
return super.onJsAlert(view, url, message, result);
}
});
참고URL : https://stackoverflow.com/questions/5271898/javascript-alert-not-working-in-android-webview
'developer tip' 카테고리의 다른 글
Python은 str.format을 사용하여 선행 0을 추가합니다. (0) | 2020.10.11 |
---|---|
Perl : 문자열 선행 및 후행 공백을 제거하는 기능 (0) | 2020.10.11 |
두 번 클릭 할 때 div 요소의 강조 표시를 중지하는 방법 (0) | 2020.10.11 |
Python : 수퍼 클래스에서 서브 클래스를 만들려면 어떻게해야합니까? (0) | 2020.10.11 |
Visual Studio가 자동 단축키 전에 주요 이벤트를 포착하는 이유는 무엇입니까? (0) | 2020.10.11 |