this post was submitted on 03 Aug 2023
13 points (93.3% liked)

Web Development

3434 readers
1 users here now

Welcome to the web development community! This is a place to post, discuss, get help about, etc. anything related to web development

What is web development?

Web development is the process of creating websites or web applications

Rules/Guidelines

Related Communities

Wormhole

Some webdev blogsNot sure what to post in here? Want some web development related things to read?

Heres a couple blogs that have web development related content

CreditsIcon 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
[–] [email protected] 5 points 1 year ago (1 children)

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.

[–] [email protected] 2 points 1 year ago (3 children)

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?

[–] [email protected] 4 points 1 year ago (1 children)

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

[–] [email protected] 2 points 1 year ago

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

[–] [email protected] 3 points 1 year ago* (last edited 1 year ago) (1 children)

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.

[–] [email protected] 1 points 1 year ago

Thanks! This is helpful for understanding.

[–] [email protected] 2 points 1 year ago (1 children)

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

[–] [email protected] 2 points 1 year ago (1 children)

Yeah, this is pretty much what I was looking to do. Thanks! It's nice to see a working example.

[–] [email protected] 2 points 1 year ago

Brilliant, glad I could help :)