2013-07-15 7 views
0

나는 query mobile 및 html5를 사용하여 웹 응용 프로그램을 만들었으며 현재 내 JS는 응용 프로그램에서 실행되지 않습니다.자바 스크립트가 Android webview에서 실행되지 않습니다.

Jquery 모바일이 JS를 라이브러리로 실행할 수 있지만 Android 기기에서 작동하지 않으므로 Android WebView에서 JS가 사용 설정됩니다.

iOS 시뮬레이터와 웹 브라우저에서 잘 작동하므로 안드로이드에 대한 처리가 필요한 숨겨진 설정/구현이 있는지 궁금합니다. 여기

내가 onclick을 실행하여 대화를 시작하는 itemDetailCarHire의 HTML 여기 전화 갭

07-15 09:25:00.621: E/Web Console(2992): Uncaught ReferenceError: uploadTrue is not defined at file:///android_asset/www/itemDetailCarHire.html:2 

이다하여 출력되는 간단한 대화 HTML에 온 클릭 이벤트에서 수신 에러이다. 사용자가 영수증 원본 구성 요소를 클릭하면

<!DOCTYPE html> 
<html> 
<head> 
<meta charset="UTF-8"> 
<meta name="viewport" content="width=device-width,initial-scale=1.0, maximum-scale=1.0, user-scalable=no" /> 
<title></title> 
<link href="src/jquery.mobile-1.3.1.min.css" rel="stylesheet" type="text/css"/> 
<link rel="stylesheet" href="src/jquery.mobile.iscrollview.css" /> 
<link rel="stylesheet" href="src/jquery.mobile.iscrollview-pull.css" /> 
<script src="src/jquery-1.9.1.min.js" type="text/javascript"></script> 
<script src="src/jquery.mobile-1.3.1.min.js" type="text/javascript"></script> 

<script src="src/iscroll.js"></script> 
<script src="src/jquery.mobile.iscrollview.js"></script> 
<script src="src/script/itemDetailCarHire.js"></script> 

    <link rel="stylesheet" href="src/jquery.ui.datepicker.mobile.css" /> 
    <script src="src/jquery.ui.datepicker.js"></script> 
    <script src="src/jquery.ui.datepicker.mobile.js"></script> 


</head> 

<body> 
<div data-role="page" id="fields"> 
    <div data-role="header" data-position="fixed" data-theme="b" data-tap-toggle="false" data-transition="none" > <a href="" onclick="history.back(-1); return false;">Back</a> 
    <h1>New Claim</h1> 
    </div> 
    <div data-role="content"> 
    <ul class="ui-li" data-role="listview" id="claimProfileListView" data-inset="true" data-scroll="true"> 

     <h3>Original Receipt:</h3> 
     <div data-role="fieldcontain"> <a href="uploadRecieptDialog.html" data-role="button" data-rel="dialog">Upload Reciept</a> </div> 
     </li> 

    </ul> 
    <div data-role="navbar"> 
     <ul> 
     <li><a href="claimItemSummary.html" data-theme="b">Save Claim Item</a></li> 
     </ul> 
    </div> 
    </div> 
</div> 
</body> 
</html> 

, 제대로 uploadRecieptDialog.html 그에 대한 코드라는 대화 상자를 표시하면 다음과 같습니다 :

<!DOCTYPE html> 
<html> 
<head> 
<meta charset="UTF-8"> 
<meta name="viewport" content="width=device-width,initial-scale=1.0, maximum-scale=1.0, user-scalable=no" /> 
<title></title> 
<link href="src/jquery.mobile-1.3.1.min.css" rel="stylesheet" type="text/css"/> 
<link rel="stylesheet" href="src/jquery.mobile.iscrollview.css" /> 
<link rel="stylesheet" href="src/jquery.mobile.iscrollview-pull.css" /> 
<script src="src/jquery-1.9.1.min.js" type="text/javascript"></script> 
<script src="src/jquery.mobile-1.3.1.min.js" type="text/javascript"></script> 
<script src="src/iscroll.js"></script> 
<script src="src/jquery.mobile.iscrollview.js"></script> 


</head> 
<body> 
<div data-role="page" id="page"> 

<div data-role="header" data-theme="b" data-position="fixed" > 

     <h1>Upload Reciept</h1> 

    </div> 
    <div data-role="content"> 
    <p>Click the button below to select and upload your Reciept</p> 
    <h3><a onclick="uploadTrue();" data-role="button" data-theme="c" >upload Reciept</a></h3> 

    <div data-role="footer" data-position="fixed" data-theme="b" > 

    </div> 
    </div> 
</div> 
</body> 
</html> 
다음

updateDetailCarHire.JS

입니다
function uploadTrue(){ 
     alert("upload true"); 

     //load previous page 
     history.back(-1); return false; 
     alert("UPLOADED"); 

    } 

간단한 JS로 경고 메시지가 표시되고 이전 화면으로 돌아갑니다. iOS 시뮬레이터와 크롬/사파리 데스크톱 웹 브라우저에서 작동합니다!

답변

0

cordova가 내역 명령에 문제가있어서 자바 스크립트가 실행되지 않는 것 같습니다. 여기

확인 : in Cordova 1.8.1 - Android history.back() not working

그리고 아마도 : Why is javascript:history.go(-1); not working on mobile devices?

history.back();

EDIT를 사용해보십시오 : 내가 updateDetailCarHire.JS가 그 HTML 페이지의에 포함되어 표시되지 않습니다.

+0

itemDetailCarHire에 포함됩니다. 내가 게시 한 코드 스 니펫의 헤더를 확인하십시오. 나는 history.back();을 시도 할 것이다. – jonney

+0

어떻게 포함 시키시겠습니까? itemDetailCarHire.js 안에 document.write를 만드시겠습니까? 문제가있는 페이지에 직접 해당 기능을 넣고 작동하는지 확인하십시오. 그렇다면 적절하게 포함되지 않습니다. – ethree

관련 문제