Autor Zpráva
hrobarz
Profil *
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
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 *
Takže tak, jak jsem to chtěl udělat to udělat nejde?
_es
Profil
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 *
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 *
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
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 *
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.

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0