ブラウザでモバイルアプリを開く理由
2つの理由があります:1)デバッグ、2)デモンストレーション。 最初については明らかです。 開発者は二度目の機会をあまり利用しませんが、あなたはそれに会うことができます。
わずかに変更されたPhoneGapアプリケーションを使用すると、スクリーンショットだけでなく、プロモーションサイトで実際に機能するJSダイナミクスをデモンストレーションできます。 つまり、PhoneGapソースをiframeでラップし、通常のiPhoneと出来上がりのグラフィカルビュー内に配置します。 いくつかのすごい要因と変換のためのペニーが保証されています。
何を変更する必要がありますか?
HTMLでデスクトップにcordova.jsを含めると、多くのエラーが発生しますが、モバイルアプリケーションはこれを含めないと機能しません。 デスクトップとモバイルでJSロジックを開始するには、さまざまなイベントが必要です。 標準のdomreadyイベントを使用して携帯電話でJS-logicを開始すると、GPSナビゲーションを使用しようとすると、追加のポップアップ質問が表示されます。
通常のアプローチ
最も簡単なことは、2つのソースバージョンを作成することです。 1)モバイルの場合: cordova.js + JSを含む HTML とdevicereadyイベントのトリガーの開始、2)ブラウザーの場合: cordova.js + JSを含まず 、 domreadyイベントの開始の開始 そして、各アセンブリの前に小さな断片をコメント/コメント解除します。 かなり迷惑です。
解決策
常にHTMLにcordova.jsを含めますが、プロジェクトツリーからcordova.jsファイル自体を削除します。 PhoneGap Buildプロジェクトをアセンブルするとき、サーバー自体がツリー内の必要なJSファイルを置き換え、ブラウザーから開くと、コンソールは何にも影響しない単一のJavaScriptエラーを吐き出します。 JS-logicの開始は次のように実行されます。
if( window.cordova ) { document.addEventListener( 'deviceready', start, false ); } else { $( start ); } function start() { // JS- }