2012-10-11 65 views
3

我正在處理多個HTML頁面phoneGap應用程序,我想實現一個導航欄。Phonegap導航欄不能用於多個html頁面

我使用下面的代碼的PhoneGap navigation bar實現:

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,因爲我在主頁中不需要它。

但是當我去下一個HTML頁面xyz.html通過點擊一個按鈕,將顯示navBar相同的行爲:沒有留下,寫按鈕相同的標題。

但我希望它改變當前加載的頁面的標題,並且還插入leftNavBarButton標籤,以便我還可以返回到上一頁。

但它沒有發生。我還試圖在xyz.html頁面中編寫一個腳本,該腳本應該更改其標題並將leftNavBarButton作爲後退,但不起作用。

它的靜態在整個應用程序相同的標題,我無法回到前一頁。我希望它的行爲是全球性的,隨着每一頁的變化而變化,並且保持以前頁面的狀態!我怎樣才能做到這一點?

+0

我是否需要在每個html頁面中包含navigationbar.js? –

+0

是的,你這樣做!當然 – mram888

+0

我確實有幾乎相同的問題。當我在index.html。我的導航欄正在使用標題和左鍵。如果我去另一個html文件。像test.html一樣。我確實看到了帶有標題和左按鈕的導航欄,但鏈接不起作用。我必須在sub-htmls中做什麼,navigationBar上的按鈕仍然有效? – craphunter

回答

2

如果您使用的是單頁面模板(每個HTML文件爲1個jQuery Mobile頁面),則必須將JS代碼包含在每個HTML文件中。

你可以做的是把你所有的自定義JS代碼放入一個JS文件中,並將其導入到你擁有的每個HTML頁面中。此外,導入您將在每個頁面中使用的任何其他JS庫。

例:

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

另一個解決方案是導航到他們時強制頁面的刷新。

在這種情況下,您不必在每個頁面中導入所有JS代碼,並且對於每個HTML文件,都可以導入此給定文件所需的JS文件。