0

我正在使用 phonegap 创建一个 webapp,其中我在每个 shtml 页面上都包含一个导航栏,<!--#include file="navbar.html" --> 当我在浏览器中测试它时它工作正常,但是当我构建和运行 phonegap 时,导航栏不包括在内。有谁知道为什么?

更新: 这是我的简单 index.html 代码,除了包括导航栏外,这里没有实现任何功能:

<!doctype html>
<html>

<head>
<title> DJKongsy - Home</title>
</head>
<body>
    <!--#include file="navbar.html" -->
</body>
</html>

导航栏是使用引导程序创建的,这有助于找出它为什么不起作用吗?

更新 2.0:

我在这里测试利亚姆的解决方案。

<nav class="navbar navbar-default" role="navigation">
  <!-- Collect the nav links, forms, and other content for toggling -->
  <div class="collapse navbar-collapse " id="bs-example-navbar-collapse-1">
    <ul class="nav nav-pills navbar-left">
        <li class="active"><a href="index.html">Home</a></li>
        <li class="active"> <a href="musictab3.shtml">Music</a></li>
        <li class="active"><a href="abouttab.shtml">About</a></li>
        <li class="active"><a href="gigs.shtml">Gigs</a></li>
    </ul>
    <ul class="nav nav-pills navbar-right">
      <li class="active"><a id="userLink" href="logintab.shtml">Log in</a></li>
    </ul>

  </div><!-- /.navbar-collapse -->
</nav>
<div id="pageContent">
    <h1>CONTENT</h1>
</div>
<script>

    $(document).ready(function(){
        var user = $.jStorage.get('userInfo');
        if(user.username!=''){
            document.getElementById('userLink').innerHTML=user.username;
        }
        else{
            document.getElementById('userLink').innerHTML="Log in";
        }
        $( "a" ).on( "click", function( event ){
           // Prevent the usual navigation behavior
           event.preventDefault();
            $.get($(this).attr("href"), function(data) {
                var resp = $(data);
                $("#pageContent").html($("#pageContent", resp).html());
                $('#pageContent').load('gigs.shtml #pageContent');
            }); 
        });
    });
</script>

如何在单击时显示导航栏中每个选项卡的内容?例如,div“pageContent”中有什么内容?

下面的代码适用于从页面获取静态 html 信息,但它不会运行我的<script>标签中的内容。为什么?

$('#pageContent').load('gigs.shtml #pageContent');
4

1 回答 1

2

做到这一点的最好方法(我自己做过)是将导航栏放在 index.html 文件中(不是“包含文件”),然后使用 jquery 将每个页面内容拉到您的主页/主页中,它可以工作真的很好。

所以索引:

<html>
    <head>
        <title>
            Blahblah
        </title>
    </head>
    <body>
        <nav>
            <ul>
                <li><a href="index.html">Home</a></li>
                <li><a href="about.html">About</a></li>
                <li><a href="contact.html">Contact</a></li>
            </ul>
        </nav>
        <div id="pageContent">
            <h1>CONTENT</h1>
        </div>
    </body>
</html>

然后脚本...

 $(document).ready(function(){
        $( "a" ).on( "click", function( event ){
          // Prevent the usual navigation behavior
          event.preventDefault();
               $.get($(this).attr("href"), function(data) {
                    var resp = $(data);
                    $("#pageContent").html($("#pageContent", resp).html());
                }); 
        });
});
于 2014-02-27T13:56:36.717 回答