【问题标题】:HTML: use one nav bar for multiple pagesHTML:对多个页面使用一个导航栏
【发布时间】: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


【解决方案1】:

尝试通过网络服务器打开您的项目。通过文件在浏览器中打开文件严重限制了它的功能。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-07-07
    • 2011-06-10
    • 1970-01-01
    • 2011-06-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多