如何编辑一个导航/菜单文档并更改所有博客页面中的元素?

时间:2019-02-04 00:08:22

标签: javascript html css

我了解HTML和CSS,但不了解JS。我正在从头开始构建静态博客,并面对自己的问题。创建帖子时,我将重复所有帖子文档中的所有页面元素,因此,例如,如果要向菜单添加链接,则需要编辑所有文件。

因此,我正在寻找一种将菜单和导航分开的文档的方法。因为如果我编辑它们,菜单将在所有帖子中更新。

我发现这种方法显然有效:https://www.w3schools.com/howto/howto_html_include.asp(下面的代码)

但是,现在,我不知道这是否是最好的方法,并且我不想在将来发现它的问题,并且发现我将需要编辑所有文件。

这是一种好方法还是另一种更好? ps:不,我不要CMS。

这是方法: 过去这个

<script>
function includeHTML() {
  var z, i, elmnt, file, xhttp;
  /* Loop through a collection of all HTML elements: */
  z = document.getElementsByTagName("*");
  for (i = 0; i < z.length; i++) {
    elmnt = z[i];
    /*search for elements with a certain atrribute:*/
    file = elmnt.getAttribute("w3-include-html");
    if (file) {
      /* Make an HTTP request using the attribute value as the file name: */
      xhttp = new XMLHttpRequest();
      xhttp.onreadystatechange = function() {
        if (this.readyState == 4) {
          if (this.status == 200) {elmnt.innerHTML = this.responseText;}
          if (this.status == 404) {elmnt.innerHTML = "Page not found.";}
          /* Remove the attribute, and call this function once more: */
          elmnt.removeAttribute("w3-include-html");
          includeHTML();
        }
      }
      xhttp.open("GET", file, true);
      xhttp.send();
      /* Exit the function: */
          return;
        }
      }
    }
    </script> 

这在体内


    <div w3-include-html="content.html"></div> 
   <script>
    includeHTML();
    </script>

0 个答案:

没有答案