마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

웹뷰로 띄운 페이지에 자바스크립트 소스를 적용시키려고 합니다.

0 추천
제목 그대로 웹뷰로 띄운 페이지에 자바스크립트 소스를 적용시키려고 하는데요..

어떤방식으로 구현해야할지.. 구글링을 많이 해보았지만 찾기 힘드네여..ㅠ

 

현재 URL 로 웹뷰 띄우고 있구요.. 그 웹뷰 페이지에 상단(Header) 와 하단(Footer) 를 없애려고

자바스크립트 소스를 추가하려고 하고 있습니다..

 

방법알고계신 개발자분 계시면 조언 부탁드립니다 ^^;;
초보개발자쌤 (160 포인트) 님이 2013년 2월 28일 질문

1개의 답변

0 추천
1. 자바스크립트에서 안드로이드 함수 실행

 

JavaScript 함수 안에 안드로이드에서 실행할 함수명을

Android.yourFunctionName();

같이 넣으시고,

 

Android 코드안에 아래와같이 웹뷰에 자바스크립트 enable true하고,

webSettings.setJavaScriptEnabled(true);

 

JavaScriptInterface 또는 다른 이름으로 빈클래스를 하나 만들어서 생성하시고, 다음과 같이 webview에 add합니다.

webview.addJavascriptInterface(new JavaScriptInterface(this), "Android");

"Android" 는 원하는 이름으로 바꿔도 됩니다. (Android.yourFunctionName() 이것도 같이 고쳐야함)

 

JavaScriptInterface 클래스안에 yourFunctionName() 함수를 넣으시면 됩니다.

웹뷰에서 해당 자바스크립트가 실행되면 yourFunctionName()가 실행됩니다.

 

 

2. 안드로이드에서 자바스크립트 함수 실행

 

webView.loadUrl("javascript:yourJavaScriptFuctionName");
smallworld (710 포인트) 님이 2013년 2월 28일 답변
혹시 자바 스크립트 함수는 어디에 작성을 하는건가요??
http://www~ 와 같은 URL 형식으로 웹뷰를 로딩 하기 때문에..
자바스크립트에 접근할수가 없습니다..ㅠㅠ

게다가 웹페이지의 HTML 소스를 긁어서 자체 asset 폴더에 html 파일로 저장을 해도 한글이 깨지는 현상이 발생하네요..ㅠㅠ <meta 인코딩도 빠짐없이 했는데.. 휴.. 힘드네요 ㅠㅠ
...