【发布时间】:2017-09-04 06:27:39
【问题描述】:
我一直在使用 github 页面来运行我的网站。我目前正在尝试开发一个全局标头,可以在一个 js 文件中进行调整并在任何地方反映。问题是,当运行另一个子页面时,我在转到子页面时遇到了 url 链接问题。我希望能够调用一个 js 文件,并让链接工作无论根是什么。
我的html头代码:
<!--Set the div for the header bar. Import a js file that runs a specific script to set a universal header amongst all the pages.-->
<div id="header-bar"></div>
<!--Please note, on subpages the entered src is ../javascript/header-bar.js to adjust to location.-->
<script src="javascript/header-bar.js"></script>
js头条码:
var headerbar = document.getElementById("header-bar");
//This sets each page/subpage to be the exact same header.
headerbar.innerHTML = '<div class="dropdown"><button class="dropbtn">Games</button><div class="dropdown-content"><a href="universes/index.html">Universe Generator</a><a href="#">Coming soon...</a></div><div class="dropdown"><button class="dropbtn">Tools</button><div class="dropdown-content"><a href="nameGenerator/index.html">Name Generator</a><a href="#">Coming soon...</a></div></div>';
我相信正在发生的事情是,无论何时在这些子页面之一上,我都会将自己链接到 "nameGenerator/nameGenerator/index.html" 而不是 "nameGenerator/index.html"。
这是我的代码的运行 sn-p:
var headerbar = document.getElementById("header-bar");
headerbar.innerHTML = '<div class="dropdown"><button class="dropbtn">Games</button><div class="dropdown-content"><a href="universes/index.html">Universe Generator</a><a href="#">Coming soon...</a></div></div><div class="dropdown"><button class="dropbtn">Tools</button><div class="dropdown-content"><a href="nameGenerator/index.html">Name Generator</a><a href="#">Coming soon...</a></div></div>';
.dropbtn {
background-color: #4CAF50;
color: white;
padding: 16px;
font-size: 16px;
border: none;
cursor: pointer;
border-radius: 20px 20px 0px 0px;
min-width: 160px;
}
.dropdown {
position: relative;
display: inline-block;
padding: 0px 2px;
}
.dropdown-content {
display: none;
position: absolute;
background-color: #f9f9f9;
min-width: 160px;
box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
z-index: 1;
}
.dropdown-content a {
color: black;
padding: 12px 16px;
text-decoration: none;
display: block;
}
.dropdown-content a:hover {background-color: #f1f1f1}
.dropdown:hover .dropdown-content {
display: block;
}
.dropdown:hover .dropbtn {
background-color: #3e8e41;
}
#header-bar {
background-color: #509b53;
}
#header-bar:hover {
background-color: #66ba69;
}
<!DOCTYPE html>
<html>
<head>
<link type="text/css" rel="stylesheet" href="css/global.css"/>
</head>
<body>
<!--Set the div for the header bar. Import a js file that runs a specific script to set a universal header amongst all the pages.-->
<div id="header-bar"></div>
<script src="javascript/header-bar.js"></script>
</body>
</html>
如何设置 href 以便无论我在链接上的哪个页面或子页面都能正常工作?我想让系统完全自动化,无需更改每个子页面/页面的根目录。我的猜测是我需要在每个 url 前面有一个特殊的根符号,但是经过一个小时的 stackoverflow 和谷歌我找不到任何东西。
提前致谢!
旁注:我不能只放整个本地 url 文件,因为当我导入到 github 时,我必须将它从本地 url 全部更改为 github url。
【问题讨论】: