Pobieranie tekstu z konkretnego diva

Odpowiedz Nowy wątek
2018-11-05 18:03
Rafcik
0

Chciałbym, aby na stronie index.html wyświetlana była treść z konkretnego diva z pliku pomoc.html. Chodzi o to, aby po załadowaniu strony index.html widoczna była od razu treść, którą zapisałem w pliku pomoc.html w &#60div id="costam"&#62Ta treść ma być widoczna w index.html&#60/div&#62. Można zrobić jakiś prosty skrypt w js?

Pozostało 580 znaków

2018-11-05 20:20
0

treść z diva można pobrać przez właściwość innerText.

Ale tak, jak to opisałeś to mam wrażenie, że ty bardziej szukasz jakiegoś systemu szablonów do sklejania wielu plików HTML w jeden duży (chyba, że się mylę. Możez podać większy kontekst tego, co robisz?)

Mógłbyś użyć generatora stron statycznych
https://github.com/myles/awesome-static-generators
z tych używałem tylko Jekyll, Hyde i Gatsby.


((0b10*0b11*(0b10**0b101-0b10)**0b10+0b110)**0b10+(100-1)**0b10+0x10-1).toString(0b10**0b101+0b100);
edytowany 1x, ostatnio: LukeJL, 2018-11-05 20:21

Pozostało 580 znaków

2018-11-05 20:45
Rafcik
0

A w jaki sposób wykorzystać innerText?
Najprościej mówiąc: w DIV-ie "a" w pliku index.html ma być wyświetlany automatycznie tekst z DIV-a "b", znajdującego się w pliku pomoc.html.

Pozostało 580 znaków

2018-11-06 08:04
0

Jeżeli bardzo chcesz użyć JS'a, to można to zrobić tak:

Plik index.html:

<!doctype html>
<html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport"
              content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
        <meta http-equiv="X-UA-Compatible" content="ie=edge">
        <title>Document</title>
    </head>
    <body>
        Hello World

        <div data-include="pomoc.html"></div>

        <script>
            document.querySelectorAll('[data-include]').forEach(element => {
                const page = element.dataset.include;

                fetch(page)
                    .then(resp => resp.text())
                    .then(html => element.innerHTML = html);
            });
        </script>
    </body>
</html>

Plik pomoc.html, który jest w tym samym katalogu, co index.html:

<h2>Pomoc</h2>
<ul>
    <li>Pomoc 1</li>
    <li>Pomoc 2</li>
    <li>Pomoc 3</li>
</ul>

Ale polecam użyć jakiegoś gotowego systemu szablonów.

edytowany 1x, ostatnio: Desu, 2018-11-06 11:32
W jakim celu jest tu [...document.querySelectorAll()].forEach() zamiast po prostu document.querySelectorAll().forEach()? - Marooned 2018-11-06 11:27
Faktycznie bez sensu. Kiedyś NodeList'a zwracana przez querySelectorAll nie miała tych funkcji i to był taki trik, żeby to obejść :) - Desu 2018-11-06 11:31
Miałoby to sens jakbyś użył .map() bo tej metody NodeList niestety nie ma :) - Marooned 2018-11-06 11:42
Ehh... JavaScript - Desu 2018-11-06 11:46

Pozostało 580 znaków

2018-11-06 14:34
Rafcik
0

Niestety, nie działa.

Pozostało 580 znaków

2018-11-06 14:56
1

zrobiłbyś jakieś include w php i tyle...


Pozostało 580 znaków

2018-11-06 15:25
Rafcik
0

O to chodzi, że nie może być w php, tylko w javie. W tym problem.

to w końcu java czy javascript? bo to jak pomylić krzesło z krzesłem elektrycznym - john_klamka 2018-11-06 15:56

Pozostało 580 znaków

2018-11-06 17:42
Rafcik
0
Rafcik napisał(a):

O to chodzi, że nie może być w php, tylko w javie. W tym problem.

Oczywiście, chodzi o javascript :) Nikt nie potrafi pomóc? Wydawało się, że importowanie tekstu z jednego pliku html do drugiego będzie proste...

Pozostało 580 znaków

2018-11-06 20:47
0

Rafcik u mnie działa, testowałem ;)

Pozostało 580 znaków

2018-11-06 21:25
Rafcik
0
Desu napisał(a):

Rafcik u mnie działa, testowałem ;)

Sprawdzałem. Na Google Chrome nie działa, na Microsoft Edge - działa. Od czego to zależy?

Pozostało 580 znaków

2018-11-06 21:43
0

Nikt nie potrafi pomóc? Wydawało się, że importowanie tekstu z jednego pliku html do drugiego będzie proste...

Bo jest proste, to ty po prostu nie umiesz powiedzieć ludziom klarownie, co masz na myśli, co dokładnie robisz (szerszy kontekst) i co chcesz osiągnąć (a kilka osób mimo to dało ci gotowe rozwiązania na tacy). Nie mówiąc już o tym, że w jednym poście na siłę próbujesz zrobić coś w JavaScripcie, a w drugim mylisz go z Javą.


((0b10*0b11*(0b10**0b101-0b10)**0b10+0b110)**0b10+(100-1)**0b10+0x10-1).toString(0b10**0b101+0b100);

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0