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

cordovaWebview 에서 javascript 안의 function부르는 법...

0 추천

loadUrl("javascript:myFun()"); 을 해도 도무지 되지않아 질문드리는 것과 제가 초보라는 것을 미리 말씀드립니다...

 

우선 저는 

- 하이브리드 앱 구현중입니다

- 토큰은 네이티브소스에서만 뽑아낼 수있고 사용자 아이디는 웹앱 소스에서만 뽑아낼수 있습니다.

- 그래서  안드로이드에서 사용자 디바이스 토큰을 javascript 에 정의된 function으로 넘겨서 사용자의 아이디와함께 db에 저장하고싶습니다.

 

현재 소스 상황은

- webApp 소스는 빌드시켜 실행 (npm start) 시키고 해당 url을 웹뷰에 로드하고있습니다   // loadUrl("http://123.123.0.123:3000)

- webApp index.html 소스에 안드로이드 스튜디오에서 부를 함수를 정의해주었습니다..

<script type="text/javascript">
      function myFun(){
        alert("why!!!!!!");
      } </script>

- 안드로이드 소스 onCreate 안에 웹뷰에 넣어줄 페이지 주소를 넣어준 후 해당 함수를 호출했지만 아무런 반응이 없습니다

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    Intent current = getIntent();

    loadUrl("http://123.123.0.123:3000");
    iv.setBackgroundResource(R.drawable.screen);

    this.addContentView(iv, new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT));

 loadUrl("javascript:myFun()");
 // appView.loadUrl("javascript:myFun()"); // this.loadUrl("javascript:myFun());
}

 

도대체 어디가 잘못된걸까요 ㅠ_ㅠ 

남들은 loadurl("javascript:yourFunction()"); 하면 된다는데 .... 왜저는 추가를 해도 안될까요 ㅠㅠㅠ

도와주세요...

 

유닛룽 (140 포인트) 님이 2016년 4월 25일 질문

1개의 답변

0 추천
자바스크립트를 호출하는 해당 소스에는 문제는 없는거 같습니다.

자바스크립트는 버튼 클릭시 주로 사용 하기 위함 아닌가요 ?

그게 아니라면 웹상에서 웹 페이지 로딩시 실행하게 하는 방법이 괜찮을거 같습니다.

보여지는 내용으로 추측되는 문제는 페이지가 로딩이 끝나지 않은상태에서 자바스크립트가 불려져서 그런거 같습니다.

웹페이지 로딩이 끝난후 특정 버튼을 통해 스크립트를 실행시켜보세요
creater (2,330 포인트) 님이 2016년 4월 25일 답변
...