【发布时间】:2022-01-25 13:32:24
【问题描述】:
下面我想为多个 html 页面创建一个导航栏以方便使用.. 使用 JS 它会给出错误.. 这对我来说似乎很奇怪,我也想对页脚使用相同的方法
Access to XMLHttpRequest at 'file:///C:/Users/saad/Desktop/myhome-real-estate-free-web-template/navbar.html' from origin 'null' has been blocked by CORS policy: Cross origin requests are only supported for protocol schemes: http, data, chrome, chrome-extension, chrome-untrusted, https
fetch('navbar.html')
.then(res => res.text())
.then(text => {
let oldelem = document.querySelector("script#replace_with_navbar");
let newelem = document.createElement("div");
newelem.innerHTML = text;
oldelem.parentNode.replaceChild(newelem,oldelem);
})
<body>
<div id="wrapper" class="home-page">
<header>
<div id="nav-placeholder">
</div>
<script>
$(function(){
$("#nav-placeholder").load("navbar.html");
});
</script>
</header>
</body>
下面是我的 navbar.html 代码:
<!DOCTYPE html>
<html lang="en">
<div class="navbar navbar-default navbar-static-top">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="index.html"></a>
</div>
<div class="navbar-collapse collapse ">
<ul class="nav navbar-nav">
<li class="active"><a href="index.html">Home</a></li>
<li class="dropdown">
<a href="#" data-toggle="dropdown" class="dropdown-toggle">About Us <b class="caret"></b></a>
<ul class="dropdown-menu">
<li><a href="about.html">Company</a></li>
<li><a href="#">Our Team</a></li>
<li><a href="#">News</a></li>
<li><a href="#">Investors</a></li>
</ul>
</li>
<li><a href="services.html">Services</a></li>
<li><a href="projects.html">Projects</a></li>
<li><a href="pricing.html">Pricing</a></li>
<li><a href="contact.html">Contact</a></li>
</ul>
</div>
</div>
</div>
</html>
有没有办法解决这个问题? cux 我无法弄清楚问题所在 提前致谢
【问题讨论】:
-
快速谷歌搜索找到了这个w3schools.com/howto/howto_html_include.asp希望这有帮助
-
对于 CORS 问题,为获取请求添加选项。
var config = { method: 'GET', headers: new Headers(), mode: 'cors', cache: 'default' };然后,你可以像这样调用 fetch:fetch('navbar.html', config)
标签: javascript html jquery css