Autor | Zpráva | ||
---|---|---|---|
hrobarz Profil * |
#1 · Zasláno: 12. 7. 2021, 22:58:19
var doc=document.imlementation.createHTMLDocument();
var popup=open("about:blank); Potřeboval bych něco jako popup.import(doc) Existuje něco takového? |
||
_es Profil |
#2 · Zasláno: 13. 7. 2021, 22:52:27
V premennej
popup máš objekt window nového okna.
Môžeš s ním narábať úplne rovnako ako s objektom window aktuálneho okna, má objekt document a pod.
Napríklad môžeš zavolať metódu popup.document.write() .
Teda nepotrebuješ „extra dokument“ doc , ktorý sa potom možno nie celkom správne skopíruje do okna.
Existujú aj pre toto nejaké metódy, no nepôjdu v starších prehliadačoch. |
||
hrobarz Profil * |
#3 · Zasláno: 14. 7. 2021, 06:41:47
Takže tak, jak jsem to chtěl udělat to udělat nejde?
|
||
_es Profil |
#4 · Zasláno: 14. 7. 2021, 10:13:58
No ide, len to nepôjde v starších prehliadačoch, v nietorých prípadoch môže bť kopírovanie problematické...
Viď DOMImplementation.createHTMLDocument() Document.importNode() Akú má to má pre teba konkrétnu výhodu voči priamemu prístupu k objektu nového okna? |
||
hrobarz Profil * |
#5 · Zasláno: 14. 7. 2021, 12:55:43
Děkuji za odpověď. Problém je v tom, že blank popup nemá kořenový element, proto každý pokus pomocí DOM metod zhavaruje na documentElement.
Domnívám se, že generovat obsah dynamický přes DOM je vhodnější než to nějak látat pomocí innerHTML nebo write. |
||
_es Profil |
hrobarz:
„Problém je v tom, že blank popup nemá kořenový element“ Akože nemá? Živá ukázka V ktorom prehliadači nevznikne objekt HTML elementu? „generovat obsah dynamický přes DOM je vhodnější než to nějak látat pomocí innerHTML nebo write.“ V objekte HTML elementu nového okna môžeš „generovat obsah dynamický přes DOM“ úplne rovnako a použiť všetky DOM metódy, nie len tie dve. |
||
hrobarz Profil * |
#7 · Zasláno: 14. 7. 2021, 14:52:27
Reagoval jsem na "v nietorých prípadoch môže bť kopírovanie problematické...", prostě jsem ten problém konkretizoval. V novějších prohlížečích popup.document.documentElement vrací objekt HTMLElement, ale např. ve Firefoxu 13, kde jsem to testoval, to hodilo chybovou hlášku.
|
||
_es Profil |
#8 · Zasláno: 14. 7. 2021, 15:30:11
hrobarz:
„ve Firefoxu 13, kde jsem to testoval, to hodilo chybovou hlášku.“ Myslím, že tak trochu „kecáš“, Firefox 13 je vyše 9 rokov starý a na jeho „Portable“ verzii funguje uvedená „živá ukážka“ celkom rovnako - aj tento príspevok je písaný vo Firefoxe 13. |
||
hrobarz Profil * |
#9 · Zasláno: 14. 7. 2021, 15:48:29
Máte pravdu, funguje to. Omlouvám se za svou blbost. Asi jsem napsal popup.documentElement, když jsem to testoval na svém starém počítači. Ještě jednou díky za nekonečnou trpělivost.
|
||
Časová prodleva: 3 roky
|
0