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

WebView에서 자바스크립트 호출시 질문 입니다.

0 추천

E - book 관련 어플리케이션을 제작 중에 있는 학생입니다.

아직 학생인지라 많이 부족 한점도 있지만 그래도 열심히 하고 있습니다.

E-book은 html5으로 만들었고 그걸 웹뷰에서 가져 오는 방향으로 소스를 제작 하였습니다.

문제가 되는 지점은 안드로이드 자이로센서를 이용 해서 페이지를 넘기는 과정중에 있습니다.

자이로 센서 값이 오른쪽으로 기울었을 때 html에 있는 앞페이지 넘어가는 함수를 호출 하고

왼쪽으로 기울었을 때 뒷 페이지로 넘어가는 함수 호출 합니다.

안드로이드

public void right() // x모션 세서 값이 오른쪽으로 기울었을 때 발생되는 메소드
{
Toast.makeText(this, "모션센서 오른쪽으로 이동", Toast.LENGTH_SHORT).show();
//mWebView.loadUrl("javascript:go()");// 웹뷰안의 다음 페이지 설정
mWebView.loadUrl("javascript:go()");
}
 
자바스크립트
function go()
{
mouseDownHandler(event);
goforward(event);
 
}
 
 
이게 오른쪽으로 넘어가는 메소드 입니다. 자바스크립트에서 버튼을 만들고 go 라는 함수를 호출 하면 
페이지가 잘넘어 갑니다. 그런데 웹뷰에서 호출시에는 Toast 메소드만 호출될뿐 페이지가 넘어가질 않습니다.
웹뷰쪽에서 잘못됬나 싶어서 다른 함수를 호출해봤는데 다른 함수들은 호출이 되었습니다(alert 호출)
그런데 저 자바스크립트의 go 함수는 호출되질 않습니다.
제 개인적인 생각은 go 함수 호출시 event 메게변수가 넘어가지않아서 생기는 것같기도 합니다.
만약 그렇다면 안드로이드웹뷰에서 어떻게 호출해야 될까요??.. 선배 개발자님들의 조언을 듣고 싶습니다.
 
긴글 읽어주셔서 감사합니다.
 
이상 오늘도 해뜨면 잘 수 있을 거같은 랩돌이 였습니다.

 

EngineerYun (180 포인트) 님이 2013년 7월 28일 질문

1개의 답변

0 추천
enableJavaScript(true);
Stereo (1,240 포인트) 님이 2013년 7월 29일 답변
안드로이이드에서 mWebView.getSettings().setJavaScriptEnabled(true);
값을 주고 있습니다. 이 이문제는 아닌거 같은데 다른 해결 방법이 없을 까요?
alert스크립트가 정상적으로 스크립트를 탄다면 mouseDownHandler와 goforward의 신텍스에러가 아닌지 확인해보세요... 찾게되면 좀 어이없을수도있습니다.
event객체는 어디서 얻는지?
...