this post was submitted on 03 Aug 2023
14 points (100.0% liked)

Web Development

0 readers
1 users here now

Icon base by Delapouite under CC BY 3.0 with modifications to add a gradient

founded 1 year ago
MODERATORS
 

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?

you are viewing a single comment's thread
view the rest of the comments
[–] CombatWombatEsq@lemmy.world 7 points 1 year ago* (last edited 1 year ago) (1 children)

p sure you're looking for a web component. You'll create a new component that can be used like

<my-header></my-header>

Then import the file with the definition of the custom web component on both pages et voilà! You've shared your header between pages.

I will admit I'm a bit biased because I'm the author of a web component framework: https://tybalt.org . But! I still think that's what you're looking for.

[–] towerful@programming.dev 3 points 1 year ago

I haven't used web components, but from everything I have read, it's the way to do this without using frameworks or templating or whatever.

For OP:

Moz docs:
https://developer.mozilla.org/en-US/docs/Web/API/Web_components

This article seems to address exactly what you want?
https://www.freecodecamp.org/news/reusable-html-components-how-to-reuse-a-header-and-footer-on-a-website/

Here are some articles I have skimmed and seem useful?
https://coderpad.io/blog/development/intro-to-web-components-vanilla-js/