1

WebView で HTML5、JS、CSS3 を使用して iOS/Android アプリを開発しています。Android 2.x を搭載した iOS デバイスおよび電話は問題なく動作します。ただし、Android 3.x または 4.x を搭載したタブレットでは Web ページが読み込まれません。

基本的に私はこのようなウェブページを構築しています

<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>

(合計 25 個の JavaScript ファイルが含まれます)

WebViewClient::onPageStarted、WebViewClient::onReceivedError、WebViewClient::onPageFinished を上書きしました。WebViewClient::onPageStarted が呼び出され、ロードされている JavaScript が LOG に表示されます。ただし、 WebViewClient::onPageFinished は呼び出されず、Web ページはビルドされません。ウィンドウの「ロード」コールバックは発生しないため、js ファイルは実行されません。

そのため、ウィンドウの「ロード」機能に警告ポップアップを配置し、ファイルを次々と削除して、これが役立つかどうかを確認しました。そして実際、これは役に立ちました。4〜6個のファイルのみを含めると、ウィンドウの「ロード」機能が呼び出されます。ただし、これもランダムであり、削除するファイルには依存しません。LOG にもエラーは表示されません。すべてがうまくいくようです

Android 3.x 以降で導入されたインクルード ファイルの数に制限はありますか? Android 2.x は問題なく動作します。また、デスクトップ PC の Chrome と Safari では、エラーなしでサイトが表示されます。

何か案は?

4

1 に答える 1

0

制限はわかりませんが、この問題を回避するには、jsファイルでgoogleクロージャーコンパイラを使用することをお勧めします。

于 2012-05-21T08:40:54.833 に答える