• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

question-closed Tworzenie podstron w dużych projektach

Object Storage Arubacloud
0 głosów
421 wizyt
pytanie zadane 28 czerwca 2020 w HTML i CSS przez Author[] Gaduła (3,130 p.)
zamknięte 29 czerwca 2020 przez Author[]

Mając serwis z dużą ilością podstron, trudno byłoby zmieniać np: 70 plików html tylko po to aby zmodyfikować stopkę, a więc pytam czy można to zrobić prościej nie używając PHP ani AJAX. 

  • Czy da się stworzyć ogólny szablon strony w html a później za pomocą JS odczytać plik txt (znajdujący się na dysku wraz ze stroną) a następnie używając innerHTML diva wkleić zawartość tego pliku txt do niego?
  • Ewentualnie czy ktoś zna inne sposoby tworzenia podstron według szablonu napisanego html
komentarz zamknięcia: Udało się !

3 odpowiedzi

+1 głos
odpowiedź 28 czerwca 2020 przez _Pita_ Stary wyjadacz (11,410 p.)
wybrane 29 czerwca 2020 przez Author[]
 
Najlepsza

Nie ma możliwości czytania plików txt za pomocą JS bez użycia PHP (chyba, że są na to jakieś biblioteki w co wątpię). Jednak gdybyś się bardzo uparł mógłbyś stworzyć plik "szablon.js"
I napisać w nim:

var szablon = //to co byś wpisał w pliku txt

Potem po prostu zaimportuj do wybranego pliku.

Nie podałeś szczegółów, więc trudno mi konkretniej odpowiedzieć, ale mam nadzieję, że pomogłem

Edit: I oczywiście możesz potem użyć InnerHTML
 

komentarz 28 czerwca 2020 przez Author[] Gaduła (3,130 p.)
A jeżeli nie w txt to dało by się w innym pliku (z innym rozszerzeniem) bo o ile w zmiennej można byłoby tak zrobić to ciężko orientować się w 70 długich zmiennych? Dzięki za propozycje :)
komentarz 28 czerwca 2020 przez _Pita_ Stary wyjadacz (11,410 p.)

Niestety nie znam innej możliwości niż plik JS, ale dla pewności, że mnie dobrze zrozumiałeś. Nie chodzi mi o kilka długich zmiennych a o jedną zawierającą cały szablon, potem podmieniałbyś kod za pomocą innerHTML a w razie potrzeby "wyrywał" kawałki kodu za pomocą

.substr(a,b)

Fajny tutorial o tej metodzie na w3

komentarz 28 czerwca 2020 przez Author[] Gaduła (3,130 p.)

Chodzi ci o stworzenie zmiennej zawierającej divy ze strukturą strony, czy dobrze rozumiem że można byłoby to zrobić tak: 

  • Utworzyć w pliku HTML diva z artykułem (z treścią wewnątrz pliku html) 
  • Wystylizować ten plik HTML za pomocą CSS i podłączyć plik CSS i Js 
  • Następnie skopiować i podlinkować pliki HTML a wszystkie ewentualne zmiany dokonywać w pliku Js
komentarz 28 czerwca 2020 przez Comandeer Guru (601,450 p.)

To już lepiej zastosować template.

Niemniej to jest mocne kombinowanie.

komentarz 28 czerwca 2020 przez _Pita_ Stary wyjadacz (11,410 p.)
edycja 28 czerwca 2020 przez _Pita_

@Author[], Tak, przykładowo możesz ustawić w JS

document.GetElelmentById("div").innerHTML = zmienna

Oczywiście możesz też podmieniać pojedyncze divy, to już zależy od Ciebie

0 głosów
odpowiedź 28 czerwca 2020 przez Comandeer Guru (601,450 p.)
Nie da się wciąż pliku w JS-ie bez Ajaksu, chyba że mówimy o JS-ie na backendzie.

Od siebie rzucę hasłem: generator stron statycznych, np. 11ty, Gatsby, Jekyll.
0 głosów
odpowiedź 28 czerwca 2020 przez misiek.sz Bywalec (2,050 p.)
a nie prościej użyć w html frameset? Cała strona jest nie zmienna, tylko wybrany fragment się zmienia.
komentarz 28 czerwca 2020 przez Comandeer Guru (601,450 p.)
Frameset nie jest rozwijany od jakichś 20 lat.
komentarz 28 czerwca 2020 przez _Pita_ Stary wyjadacz (11,410 p.)
edycja 28 czerwca 2020 przez _Pita_

Przecież innerHTML też nie zmienia całej strony a element

Przykład:

document.GetElementById("id_elementu_do_zmiany").innerHTML = nowy_element

Takim elementem może być chociażby div czy nav

komentarz 28 czerwca 2020 przez _Pita_ Stary wyjadacz (11,410 p.)
@misiek.sz, To już lepiej iframe ale raczej bym odradzał
komentarz 29 czerwca 2020 przez Author[] Gaduła (3,130 p.)

A przy okazji to mam jeszcze jedno pytanie czy można byłoby tak to zrobić w javascripcie:

  • Strona główna przekierowuje do artykułu/wpisu
  • Załącza się plik JS który pobiera do zmiennej tekst z danego diva np: var text=getElementById("id").textContent;
  • Następnie JS przekierowuje do innej strony gdzie innerHTML diva jest podmieniany na pobrany wcześniej text

I główne pytanie brzmi czy da się w ten sposób pobrać tekst i go nie stracić przy przekierowaniu

 

 

1
komentarz 29 czerwca 2020 przez Comandeer Guru (601,450 p.)
Musiałbyś go gdzieś zapisać (localStorage) albo udawać przekierowanie (History API).
komentarz 29 czerwca 2020 przez Author[] Gaduła (3,130 p.)
Programowania w JS dopiero się uczę (szybko idzie bo znam inne języki) ale mimo to proszę czy mógłbyś napisać jak to zrobić. Nie chodzi mi o gotowca ale bardziej o opis tego co trzeba wykonać krok po kroku. Z góry dzięki :)
1
komentarz 29 czerwca 2020 przez Comandeer Guru (601,450 p.)
  1. Podpinasz event listener pod click danego linku.
    1. W tym listenerze pobierasz treść elementu.
    2. Zapisujesz ją do localStorage.
  2. Strona zostanie przeładowana.
  3. Sprawdzasz, czy w localStorage są zapisane dane.
  4. Jeśli tak, wyświetlasz je w odpowiednim elemencie.
komentarz 29 czerwca 2020 przez Author[] Gaduła (3,130 p.)
Dzięki wszystkim za pomoc!

Podobne pytania

0 głosów
2 odpowiedzi 1,230 wizyt
pytanie zadane 16 kwietnia 2018 w HTML i CSS przez Tomkattkk Nowicjusz (190 p.)
0 głosów
0 odpowiedzi 118 wizyt
pytanie zadane 26 lipca 2021 w JavaScript przez xjafajx Użytkownik (740 p.)
0 głosów
0 odpowiedzi 742 wizyt
pytanie zadane 17 maja 2016 w Offtop przez Else Stary wyjadacz (12,260 p.)

92,575 zapytań

141,424 odpowiedzi

319,649 komentarzy

61,960 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...