I’m not new to programming, but I am somewhat new to web development and I’m trying to figure out the most preferred way of taking a standalone header from one html document and adding it to other html documents without code duplication. If possible I want to do this with Javascript so I can learn with more basic tools before expanding further.

I’ve researched this a fair bit, but the advice is a bit confusing since it either seems out of date or possibly not the most secure way of handling things. Is there a preferred way of doing something like this?

  • Null User Object@programming.dev
    link
    fedilink
    arrow-up
    5
    ·
    11 months ago

    On it’s face, this is a very odd request. I feel like, in trying to simplify the question, you’ve left out a lot of pertinent details.

    My suspicion is that you have a specific problem you’re trying to solve, and, due to lack of experience with web development, you’ve settled on this solution of using JS to copy an html snippet from one document to another, when a proper solution to the actual problem is probably nothing like that. Without knowing what the original problem is and what environment the code would be running in, I’m afraid it’s going to be nearly impossible to offer any suggestions.

    • MossBear@lemmy.worldOP
      link
      fedilink
      arrow-up
      2
      ·
      11 months ago

      Like I mentioned, the problem I’m trying to solve is creating a reusable header in one html document and injecting it into another rather than copying the same code across multiple pages. Is there another way that this is typically handled?

      • silas@programming.dev
        link
        fedilink
        English
        arrow-up
        4
        ·
        11 months ago

        I commented on another comment of yours too, but I think the easiest ways to do this would be with web components or with PHP includes

        If you want to dive deeper, you can learn a javascript framework like Astro or Svelte which have more of a learning curve but are better at organizing larger or more powerful websites/web apps

        • MossBear@lemmy.worldOP
          link
          fedilink
          arrow-up
          2
          ·
          11 months ago

          Thanks for the recommendation! I’m not familiar with Astro or Svelte, so I’ll look into those!

      • Null User Object@programming.dev
        link
        fedilink
        arrow-up
        3
        ·
        edit-2
        11 months ago

        This is normally done on the server, by whatever tool is building the final html pages. If it’s just a static website (doesn’t take user input, glorified brochure), then one might use a static site generator (eg Jeckyll), each of which have their own mechanism for sharing common snippets. If building a more dynamic website with a database backend, then one would be using other tool (eg. Ruby on Rails), which would also each have their own mechanisms for sharing common snippets.

      • Tippon@lemmy.world
        link
        fedilink
        arrow-up
        2
        ·
        11 months ago

        I’m still new to this, so I might be getting things backwards, but I think I’ve recently done what you’re looking for.

        I’m making a web app for a small music festival, and was duplicating the page links on every page, and having to update them all every time something changed. I found a technique online to put the links into a header.js file, then just call the script in every new page. I did the same with the footer, and created a template for a blank page with the html that couldn’t go into the header.

        I’m not near my computer to get the site with the instructions, but my Github is here if it helps. Just bear in mind that I’m new, so might not have done it in the best way

        https://github.com/Tippon/Cwmfest-test