3

複数の HTML ページの phoneGap アプリケーションに取り組んでおり、ナビゲーション バーを実装したいと考えています。

phoneGapナビゲーション バーの実装に次のコードを使用しています。

ではindex.html、ナビゲーション バーを次のように定義しました。

function onDeviceReady() {
  plugins.navigationBar.init();

  // or .create("BlackOpaque") to apply a certain style
  plugins.navigationBar.create("BlackOpaque"); 

  plugins.navigationBar.setTitle("Home");
  plugins.navigationBar.hideLeftButton();
  plugins.navigationBar.hideRightButton();
  plugins.navigationBar.show();
}

アプリを実行すると、インデックス ページの上部にナビゲーション バーが作成され、タイトルに というラベルが付けられます。ホームページには必要ないため、HOME左または右はありません。navBarButton

しかしxyz.html、ボタンをクリックして次の HTML ページに移動すると、navBar同じ動作が表示されます。つまり、左ボタンと書き込みボタンのない同じタイトルです。

しかし、現在読み込まれているページのタイトルを変更し、leftNavBarButton前のページに戻ることもできるようにラベルを挿入したいと考えています。

しかし、それは起こっていません。xyz.htmlまた、タイトルを変更して元に戻す必要があるスクリプトをページに記述しようとしましたleftNavBarButtonが、機能しません。

同じタイトルのアプリ全体で静的であり、前のページに戻ることができません。ページごとに変化し、前のページの状態も維持するように、その動作をグローバルにしたい! これどうやってするの?

4

1 に答える 1

2

単一ページのテンプレート (= HTML ファイルごとに 1 つの jQuery Mobile ページ) を使用している場合、すべての HTML ファイルに JS コードを含める必要があります。

できることは、すべてのカスタム JS コードを JS ファイル内に配置し、それをすべての HTML ページにインポートすることです。また、すべてのページで使用する他の JS ライブラリをインポートします。

元:

<script src="./js/navigationbar.js"</script>
<script src="./js/myjs.js"></script>
...
...

別の解決策は、ページに移動するときにページを強制的に更新することです。

この場合、すべてのページにすべての JS コードをインポートする必要はなく、HTML ファイルごとに、この特定のファイルに必要な JS ファイルをインポートできます。

于 2012-10-11T09:17:35.127 に答える