0

外部サイトのコンテンツを表示するために cordova InAppBrowser を使用しています。iPhone でブラウザを開くと、InAppBrowser コンテンツのズーム レベルがアプリの残りのズーム レベルと一致します。Android デバイスで同じ場所に移動すると、InAppBrowser コンテンツがズームアウトされて表示され、非常に小さくて読みにくくなります。

Android デバイスの InAppBrowser のズーム レベルまたはビューポートを設定または調整する方法を知っている人はいますか?

注: InAppBrowser に表示されるコンテンツのスタイルはある程度制御できますが、そのサイトの html や javascript は制御できません。

4

1 に答える 1

4

Android InAppBrowser ビューポートを iOS InAppBrowser のビューポートと一致するように変更する方法を見つけました。cordova のソース コードを変更する必要がありますが、実際には非常に簡単です... 1 行のコードを変更するだけです。

段階的な手順は次のとおりです。

  1. コルドバ ソース コードをダウンロードします: 「git clone https://github.com/apache/cordova-android.git
  2. コモンズ コーデック ライブラリをダウンロードします: http://ftp.carnet.hr/misc/apache//commons/codec/binaries/commons-codec-1.7-bin.zip
  3. Android デベロッパー ツールを開く
  4. コルドバ プロジェクトをワークスペースにインポートします ([ファイル] > [インポート...] > [既存のプロジェクトをワークスペースに])。
  5. 「libs」ディレクトリを作成し、ダウンロードした commons-codec-1.7.jar ファイルをそこにコピーします。
  6. プロジェクトに「gen」フォルダーを追加します (.classpath ファイルで必要ですが、git は空のフォルダーを許可しないため、git ダウンロードには含まれません)。
  7. [プロジェクト] > [すべてビルド] に移動します。プロジェクトはエラーなしでビルドされるはずです。
  8. InAppBrowser.java を開き、「inAppWebView.getSettings().setUseWideViewPort(true);」を検索します。(ダウンロードしたcordovaバージョンの458行目)。
  9. その行で「true」を「false」に変更します。
  10. プロジェクトを再度ビルドします。
  11. bin/cordova.jar ファイルを、cordova を使用しているプロジェクトにコピーします。

これにより、ビューポートが iOS InAppBrowser と一致するように変更されます。より広いビューポートを好むが、それでも Android/iOS 間の一貫性が必要な場合は、iOS がより広いビューポートを使用するように変更するために、cordovaiosソース コードで同様のことを行うことができます (ただし、私はそれを調べていません)。

この Google グループから、cordova ソース コードの取得とプロジェクトのビルドに関する情報を入手しました: https://groups.google.com/forum/?fromgroups=#!topic/phonegap/mUcBcjPISgg

于 2013-03-12T16:07:58.247 に答える