2012-05-21 2 views
1

WebView에서 HTML5, JS 및 CSS3을 사용하여 iOS/Android 앱을 개발하고 있습니다. Android 2.x가 설치된 iOS 기기와 휴대 전화는 문제없이 작동합니다. 그러나 Android 3.x 또는 4.x가 장착 된 태블릿에서는 웹 페이지가로드되지 않습니다. 제한된 수의 j는 Android의 HTML5 웹 페이지에 파일을 포함합니다.

는 기본적으로 나는

년 (25 자바 스크립트 파일, 총)이

<html lang="en" style="-webkit-text-size-adjust:none; display:block;"> 
    <head> 
     <meta charset="utf-8"></meta> 
     <meta http-equiv="content-script-type" content="text/javascript"> 
     <title>Project Name</title> 
     <script type="text/javascript" src="File1.js"></script> 
     <script type="text/javascript" src="File2.js"></script> 
     <script type="text/javascript" src="File3.js"></script> 
     <script type="text/javascript" src="File4.js"></script> 
      ... 
    <body style="margin: 0px; width: 100%; height: 100%; overflow:hidden"> 
    </body> 
</html> 

같은 웹 페이지를 구축하고 나는 WebViewClient :: onPageStarted, WebViewClient :: onReceivedError, WebViewClient :: onPageFinished을 덮어왔다. WebViewClient :: onPageStarted가 호출되고 LOG에로드되는 javascript가 표시됩니다. 그러나 WebViewClient :: onPageFinished는 결코 호출되지 않고 웹 페이지가 빌드되지 않습니다. "load"콜백 윈도우가 발생하지 않으므로 js 파일이 실행되지 않습니다.

그래서 내 창 "로드"기능에 경고 팝업을 넣고 다른 파일 다음에 하나의 파일을 제거하여 도움이되는지 확인합니다. 그리고 참으로 도움이되었습니다. 4-6 파일 만 포함하면 창 "로드"함수가 호출됩니다. 그러나 이것은 또한 무작위 적으로 내가 제거한 파일에 의존하지 않습니다. LOG는 오류를 표시하지 않습니다. 모든 것이 잘되는 것 같습니다.

Android 3.x 이상에서 도입 된 포함 파일의 수에는 제한이 있습니까? Android 2.x는 문제없이 작동합니다. 내 데스크톱 PC의 Chrome 및 Safari에서도 오류없이 사이트가 표시됩니다.

아이디어가 있으십니까?

답변

0

한계가 확실하지 않지만이 문제를 해결하기 위해 js 파일에 google closure compiler을 사용하시기 바랍니다.

+0

좋아, 이것이 우리가 이미 (우리의 buildserver에서)하는 것입니다. 안타깝게도 Android 3.x/4.x 기기에 대해서는 개선되지 않습니다. – Hanzano

+0

@ 한자 노 - 걱정 마세요, 미안하지만 도움을 더 줄 수 없습니다 – Neil

+1

No prob. 나는 어떤 종류의 힌트를 주셔서 감사합니다. 나는 주에 이래 붙어있다;) – Hanzano