Phonegap导航栏不适用于多个html页面

时间:2012-10-11 08:00:17

标签: javascript html ios cordova

我正在处理多个HTML页面phoneGap应用程序,我想实现一个导航栏。

我正在使用以下代码进行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作为后退但不起作用。

它在整个应用程序中具有相同标题的静态,我无法返回上一页。我希望它的行为是全局的,随着每个页面的变化而变化,并保持以前页面的状态!我怎么能这样做?

1 个答案:

答案 0 :(得分: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文件。