サーバー経由でロードされた jQTouch アプリケーションがあるので、偽ネイティブ アプリの PhoneGap で Web ページを全画面表示するだけです。残念ながら、PhoneGap で試した各ソリューションには問題があります。画面サイズが実際よりも高いと認識されます。これにより、下部に固定されたタブバーが永久に画面外に表示され、使用できなくなります。以下の私のコードでこれを再現し、iTabbar オンライン デモにアクセスできるはずです。この問題を修正する方法について何か考えはありますか?
バックグラウンドでは、iOS サファリでアプリ ページに移動すると、ページがホーム画面に保存されるだけでなく、正常に動作します。どちらの場合も、Web ビューは画面の下部で停止するため、タブバーが表示されます。また、build.phonegap.com を使用してコンパイルしています (ローカルでコンパイルしていません)。
私は2つの方法を試しました:
childBrowser プラグインをロードしてページを呼び出します (オプションでナビゲーションバーを非表示にします)
次の config.xml パラメータを設定して、phonegap が Safari に切り替わらないようにしてから、リンクをロードするだけです (私の考えではよりクリーンな方が望ましいです。index.html と config.xml を以下に貼り付けました)。
config.xml パラメータの詳細:
すべてのリンクを WebView で開く
値が true または false の stay-in-webview
例:
<preference name="stay-in-webview" value="true" />
true に設定すると、すべてのリンク (ターゲットが空白に設定されている場合でも) がアプリの Web ビューで開きます
サーバーからのページがアプリ全体を引き継ぐ場合にのみ、この設定を使用してください
デフォルトは false
(ソース: https://build.phonegap.com/docs/config-xml )
私のindex.html
:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-type" content="text/html;charset=utf-8">
<title>MyApp</title>
<script src="phonegap.js"></script>
</head>
<body>
<p><a href="http://www.itabbar.com/itabbar/demo.html#home">Launch iTabbar</a></p>
</body>
</html>
私のconfig.xml
:
<?xml version="1.0" encoding="UTF-8" ?>
<widget xmlns = "http://www.w3.org/ns/widgets"
xmlns:gap = "http://phonegap.com/ns/1.0"
id = "com.phonegap.myapp"
versionCode="10"
version = "1.0.0">
<!-- versionCode is optional and Android only -->
<name>MyApp</name>
<description>
My app is...
</description>
<author href="https://myurl.com" email="me@myurl.com">
me
</author>
<preference name="stay-in-webview" value="true" />
</widget>