【问题标题】:Including Bootstrap's Navbar on every page在每个页面上都包含 Bootstrap 的导航栏
【发布时间】:2017-11-29 23:13:27
【问题描述】:

我正在为自己开发一个网站,其中包含几个 HTML 文件,并且想使用 Bootstrap 提供的导航栏。我让它工作,我只需在每个 HTML 文件中键入相同的代码,但我不想这样做,因为很难对导航栏进行更改,而且只是不好的做法。

我的问题是如何在我网站的每个页面(每个 HTML 文件)中包含导航栏,而不必在每个文件中复制和粘贴导航栏的代码?以下是我的导航栏代码的副本:

<!DOCTYPE html>
<html>
	<head>

		<link rel="stylesheet" href="main.css">
		<!-- Latest compiled and minified CSS -->

		<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">

		<!-- Optional theme -->
		<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap-theme.min.css" integrity="sha384-rHyoN1iRsVXV4nD0JutlnGaslCJuC7uwjduW9SVrLvRYooPp2bWYgmgJQIXwl/Sp" crossorigin="anonymous">

	</head>
		<body>

		<header class = "navbar-default">
	    <div class="container">
	    <nav class="navbar navbar-inverse" role = "navi">
	      
	        <!-- Brand and toggle get grouped for better mobile display -->
	        <div class="navbar-header">
	          <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1" aria-expanded="false">
	            <span class="sr-only">Toggle navigation</span>
	            <span class="icon-bar"></span>
	            <span class="icon-bar"></span>
	            <span class="icon-bar"></span>
	          </button>
	          <a class="navbar-brand" href="mainPage.html">Connor Svrcek</a>
	        </div>
	        <!-- Collect the nav links, forms, and other content for toggling -->
	        <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
	          <ul class="nav navbar-nav">
	            <li><a href="resume.html">Resume <span class="sr-only"></span></a></li>
	            <li class="dropdown">
	              <a href="projects.html" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Projects <span class="caret"></span></a>
	              <ul class="dropdown-menu">
	                <li><a href="#">SpartaHack 2017</a></li>
	                <li><a href="#">Another action</a></li>
	                <li><a href="#">Something else here</a></li>
	                <li role="separator" class="divider"></li>
	                <li><a href="#">Separated link</a></li>
	                <li role="separator" class="divider"></li>
	                <li><a href="#">One more separated link</a></li>
	              </ul>
	            </li>
	            <li><a href="connect.html">Connect</a></li>
	          </ul>
	          
	          
	        </div><!-- /.navbar-collapse -->
	      </div><!-- /.container-fluid -->
	    </nav>
	  </header>

	  <!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
    <!-- Latest compiled and minified JavaScript -->
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script>
    
	 </body>
	</html>
	

我知道这很长,但感谢大家的帮助!

【问题讨论】:

  • 如果你想使用 jquery,在你网站的根目录下添加一个类似nav-partial.html的文件,在你的页面上添加一个&lt;nav id="nav"&gt;,然后使用类似$('#nav').load('/nav-partial.html');的文件
  • 您必须为此使用 jquery/javascript,或者如果您使用一些服务器端代码(如 php 等),那么这可以为您解决问题!在 html 中这是不可能的。

标签: jquery html css twitter-bootstrap-3


【解决方案1】:

你不能删除代码,你必须在那里复制和粘贴一些东西。 您可以使用&lt;iframe&gt; 元素。只需获取导航栏代码,然后创建&lt;iframe&gt; 并将其复制到每个页面中。确保您拥有正确的 html 文档并且 iframe 指向该文档的路径。

你也可以像 Michael Coker 所说的那样使用 jQuery:

将类似 nav-partial.html 的文件添加到您网站的根目录,在您的页面添加 &lt;nav id="nav"&gt;,然后使用类似 $('#nav').load('/nav-partial.html' );

$('#nav').load('/nav-partial.html');

【讨论】:

  • 你所做的只是让他将其复制到每个文件中,而不是他试图不复制到每个文件中。
  • 但 iframe 是一小行。
  • 没关系。他不想复制任何东西。
【解决方案2】:

没有 Jquery 或 iframe 也可以做到这一点

首先创建一个仅包含导航栏代码的 shtml 文件,例如导航.shtml

然后从您的 php 文件中调用该文件:

<?php include_once("nav.shtml"); ?>

您需要在 cpanel(或您的主机提供的任何内容)中添加一个处理程序

处理程序:服务器解析, 扩展名:.html

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-11-10
    • 2016-05-29
    • 2018-01-28
    • 1970-01-01
    • 2016-01-24
    • 2021-09-22
    • 2017-04-26
    • 2013-02-16
    相关资源
    最近更新 更多