javascript - 如何在网站中重复使用重复的 HTML?

标签 javascript jquery html ajax

我为我的网站创建了一个主菜单(html和css),每次编辑菜单时将其复制/粘贴到网站的每个文件/页面中是荒谬的,我需要它自动出现在每个文件/页面上单个文件。

如何在我的网站中重复使用/包含此主菜单?

我已经尝试过使用 jquery 和 ajax 进行一些操作,但没有成功。我最后尝试的是这样的:

function loadDoc() { 
    var xhttp = new XMLHttpRequest(); 
    xhttp.onreadystatechange = function() { 
        if (this.readyState == 4 && this.status == 200) {
            document.getElementById("#").innerHTML = this.responseText; 
        } 
    }; 
    xhttp.open("GET", "my_file_menu.html", true); 
    xhttp.send();
}

最佳答案

您始终可以使用 AJAX/fetch 加载文件,并在加载后使用 DOM 操作将其添加到文档中。但我猜您可能只想使用一个简单的库来完成此操作。

看看w3.js and the w3.includeHtml() function 。它使用起来非常简单,不需要学习模板或 View 框架,例如 react 。这是一个例子:

main-page.html

<!DOCTYPE html>
<html>
  <script src="https://www.w3schools.com/lib/w3.js"></script>
  <body>
    <div w3-include-html="main-menu.html"></div> 
    <script>
      w3.includeHTML();
    </script>
  </body>
</html>

main-page.html

<ul>
  <li><a href='home'>Home</a></li>
  <li><a href='contact'>Contact Us</a></li>
</ul>

关于javascript - 如何在网站中重复使用重复的 HTML?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44479569/

相关文章:

javascript - 在特定延迟后自动弹出网页

jquery - 如何删除 jQuery DataTables 中多余的空白

javascript - AJAX 请求会覆盖另一个吗?

html - 如何使 css 表格响应?

javascript - JQuery 克隆 li+children,更新文本(在子标签中),并追加

javascript - Firefox:navigator.getUserMedia 不是函数

javascript - 如何让 wikimedia 的 jquery.i18n 插件能够处理外部文件?

javascript - FullCalendarJS : changing select event color

javascript - 整个图像未显示在网页的标题部分

javascript - 复制到剪贴板时如何避免移动浏览器中的页面滚动