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

Jak zmienić zawartość drugiego pliku HTML poprzez JS w pierwszym pliku HTML?

Object Storage Arubacloud
+2 głosów
619 wizyt
pytanie zadane 31 stycznia 2016 w JavaScript przez ScriptyChris Mędrzec (190,190 p.)

Są 2 pliki HTML (w tym samym folderze): pierwszyHtml.html oraz drugiHtml.html. Chcę z pierwszego HTML zmienić zawartość elementu w drugim HTML. Ponoć da się to zrobić, np. tak: http://stackoverflow.com/a/7493770/4983840

Koncepcja na rysunku:

Próbowałem więc wykonać taki kod: (niestety nie otwiera/wychwytuje drugiego pliku HTML)

//// Wykonane z pliku 'pierwszyHtml.html'

var drugieOkno = window.open('drugiHtml.html');
console.log('Drugi HTML ?? ', drugieOkno); // tu juz wyswietla, że 'drugieOkno is undefined'

drugieOkno.onload = function(){
  var element = drugieOkno.document.getElementById('drugiDiv');
  console.log('Element z drugiego pliku HTML: ', element);
};

Natomiast mogę sobie przejść do drugiego pliku HTML tworząc #Link (czy tam Internal Link):

<a href="drugiHtml.html">idź do drugiego</a>

Co robię źle?

2 odpowiedzi

+1 głos
odpowiedź 31 stycznia 2016 przez Comandeer Guru (602,340 p.)
wybrane 5 lutego 2016 przez ScriptyChris
 
Najlepsza
A konsola coś rzuca?
1
komentarz 5 lutego 2016 przez ScriptyChris Mędrzec (190,190 p.)
edycja 5 lutego 2016 przez ScriptyChris

Konsola pokazuje to: 

Drugi HTML ??  undefined                                                                                           pierwszyHtml.html:11 
Uncaught TypeError: Cannot set property 'onload' of undefined                  pierwszyHtml.html:13 

Całość: http://imgur.com/1BBVfHL

 

1
komentarz 5 lutego 2016 przez Comandeer Guru (602,340 p.)
A uruchamiasz to przez serwer czy z dysku? Bo jeśli z dysku, to prawdopodobnie nie będzie działać.
1
komentarz 5 lutego 2016 przez ScriptyChris Mędrzec (190,190 p.)
Zwyczajnie z dysku. Oba pliki HTML są w folderze na pulpicie - tak po prostu. Trzeba to przez serwer z użyciem AJAXa robić? Nawet jeśli chcę zmienić zawartość pliku HTML "obok"?
1
komentarz 5 lutego 2016 przez Comandeer Guru (602,340 p.)

Nie z Ajaksa. Po prostu musi być serwer. Otwieranie plików z dysku jest uznawane za błąd bezpieczeństwa, dlatego ¾ rzeczy nie działa przez file://

1
komentarz 5 lutego 2016 przez ScriptyChris Mędrzec (190,190 p.)

Tak tez nie działa. W ogóle, to strona chce otworzyć się w nowym oknie (window.open() pewnie tak działa), bo w przeglądarce pokazuje się, że nowe okno zostało zablokowane.  Tylko, że ja nie chce otwierać drugiego pliku w nowym oknie, lecz wziąć sobie jego DOM i zmienić w nim jakiś element. Może użycie metody window.open() jest tu nieprawidłowe?

2
komentarz 5 lutego 2016 przez Comandeer Guru (602,340 p.)

XMLHttpRequest z opcją pobierania dokumentu w takim razie.

0 głosów
odpowiedź 31 stycznia 2016 przez fckueve Dyskutant (9,470 p.)
W linku jest opisane jak wczytać stronę, jednak nie jest możliwe z poziomu samego JS zmodyfikowanie pliku. Do tego jest wymagane php.
komentarz 31 stycznia 2016 przez ScriptyChris Mędrzec (190,190 p.)
Czy aby PHP nie jest wymagane do zmiany pliku z innej domeny? Ja mam oba pliki w tym samym folderze. Poza tym nawet wczytanie strony mi nie działa.
komentarz 31 stycznia 2016 przez fckueve Dyskutant (9,470 p.)
ale javascript działa po stronie przeglądarki a plik jest na serwerze....

Podobne pytania

0 głosów
1 odpowiedź 387 wizyt
pytanie zadane 7 lutego 2018 w HTML i CSS przez KtoPyta... Początkujący (280 p.)
0 głosów
1 odpowiedź 633 wizyt
pytanie zadane 4 maja 2018 w JavaScript przez Jake Obywatel (1,820 p.)
+1 głos
2 odpowiedzi 474 wizyt
pytanie zadane 18 czerwca 2022 w JavaScript przez kordix Gaduła (3,870 p.)

92,624 zapytań

141,482 odpowiedzi

319,822 komentarzy

62,005 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!

...