То, что вы описываете (иначе компонентизация), является своего рода лучшей практикой.
Существует так много опций (например, сторонних библиотек JS), что список выходит за рамки Stackoverflow.
Этого можно добиться с помощью веб-компонентов.
Создайте файл Javascript, в котором вы определяете пользовательский элемент для панели навигации.
СЧА bar.js
define.customElements( 'nav-bar', class extends HTMLElement {
constructor() {
super()
this.attachShadow( { mode: 'open' } )
.innerHTML = `
<style>
:host { display: block ; border: 1px solid gray }
</style>
<button>Main Page</button>
<button>About</button>
`
}
}
На каждом веб-сайте добавьте тег <script>
, чтобы загрузить файл Javascript. Он может быть размещен где угодно в Интернете, например на сайте CDN.
<script src='path/nav-bar.js'></script>
Добавьте пользовательский элемент на веб-странице в нужную позицию:
<nav-bar></nav-bar>