Autor Zpráva
pavelm
Profil
Ahojte.. snažím se vytvořit nové okno (to je ok) a do něj obsah (dynamicky prostřednictvím DOM funkcí).

ovšem nemám ponětí jak správně vytvořit strukturu (document.body ...) takaby to šlapalo všude... Mozilla se stím nějak popere, ale IE má neustále problémy s body.appendChild(element)...

nedělal jsem někdo něco podobnýho?

díky
Pavel
peta
Profil
pavelm
var body = document.getElementsByTagName('body')[0];
protoze IE je IE a ma
document.body
document.bodyElement
a mam pocit jeste neco
Chamurappi
Profil
Reaguji na pavelm:
Možná tam v té době ještě není <body>, ne? Chtělo by to ukázku.

Reaguji na petu:
Objekt document.body funguje ve všech prohlížečích spolehlivě už hódně dlouho. Naopak document.bodyElement neexistuje nikde. Ale to je celkem zbytečné upozornění, že ano? Ty stejně nejsi schopen načerpávat nové zkušenosti, takže nám to tady zopakuješ ještě aspoň padesátkrát, místo toho, aby sis to jednou ověřil.
pavelm
Profil
díky za odpovědi.. ovšem problém to asi neřeší...

jde mi prakticky o tohle

var window1 = window.open(....)

/*...včil byrobit nějaký obsah pomocí dom a pak jej přidat do toho nového okna*/
var divElement = document.createElement('div')
window1.document.body.appendChild(divElement);

Mozilla to schroupne v pohodě, ale IE se nelíbí appendChild a řve že metoda není a podobně
dody[0], i body.item(0) už mám za sebou a bez výsledku
pavelm
Profil
ještě dodatek

ten kód se kterým zápasím je k mání tady: http://js.ines.cz/debug.js

jde o jednoduchou debugovací funkci, která vypisuje záznamy do externího okna
los
Profil *
var divElement = document.createElement('div')
window1.document.body.appendChild(divElement);

Problém vidím v tom, že k dokumentu v okne chceš pripojiť element, ktorý si vytvoril v dokumente pôvodného okna. Skúsil by som:
var divElement = window1.document.createElement('div')
window1.document.body.appendChild(divElement);[/i]
peta
Profil
Chamurappi
Tak to naprav na pravou miru, pane chytrej :)
1. document.body nefunguje 100%, ale muzes se stavet na hlavu
kazdopadne uznavam, ze jsem popletl nazvy elementu, spravne to je:
document.documentElement
viz
if (e.clientX || e.clientY)
{d = document; d = d.documentElement ? d.documentElement : d.body;
mouse.X = e.clientX+d.scrollLeft; mouse.Y = e.clientY+d.scrollTop;}
2. je dobre uvazovat, zda to nevytvari uz v head, s tim souhlas
3. najdi si nekoho jineho na navazeni, zacinas byt trapny s poznamkami, ze neco funguje, kdyz to pravda neni.
Pokud mi neveris, google documentElement
dekujeme odejdete :)
4. stejne to vyresil LOS s odkazu na zdrojak. Spis jsi mel hucet do dazatele na zdrojak :)
pavelm
Profil
los
Problém vidím v tom, že k dokumentu v okne chceš pripojiť element, ktorý si vytvoril v dokumente pôvodného okna. Skúsil by som:
var divElement = window1.document.createElement('div')
window1.document.body.appendChild(divElement);
[/i]

tak tohle by mě opravdu nenapadlo;) Byl jsem přesvědčenej, že document.createElement vyrobí element bez jakýchkoliv vazeb na prostředí, ale evidentně to tak není...

moc díky za tip při řešení problému!

Pavel
Dero
Profil
peta: Kde nefunguje document.body?

Zajímá mě to, nikdy jsem to neřešil, ale když říkáš, že to není stoprocentní, asi bych si měl začít v některých prohlížečích dávat pozor. Takže v kterých to nefunguje, prosím?
tiso
Profil
peta
...to som zvedavý na reakciu Chamurappi-ho...
peta
Profil
Dero
hold lenost si pusti gugl pro slova: body documentElement compatibility
http://www.quirksmode.org/viewport/compatibility.html
http://www.evolt.org/article/document_body_doctype_switching_and_more/ 17/30655/index.html
"Kde nefunguje document.body?"
Pochopitelne, ze v IE, kdyz to pouzivam pro e.clientX, ktery patri k IE. To da rozum.

Proto se pouziva
body = document.getElementsByTagName('body')[0];
Chlapci (Dero + Chamurappi), jako u te opery a tez google SEO, priste prosim dukazy nez neco placnete a zacnete se se mnou hadat.

Ale opet se tu dohadujem offtopic, takze uz zde nenapisi ani radku, pouzijte mail pro osobni spory.
Chamurappi
Profil
Reaguji na petu:
1. document.body nefunguje 100%, ale muzes se stavet na hlavu
Nesmysl. Stavění se na hlavu je méně spolehlivé než document.body a jen výjimečně se tím něco vyřeší.

kazdopadne uznavam, ze jsem popletl nazvy elementu, spravne to je: document.documentElement
Ale to je přeci úplně jiný element. Kolega pavelm chce dát něco do <body>, ne do <html>. Platí:
1) document.getElementsByTagName('body')[0] === document.body
2) document.getElementsByTagName('html')[0] === document.documentElement

najdi si nekoho jineho na navazeni, zacinas byt trapny s poznamkami, ze neco funguje, kdyz to pravda neni
Najdi si jiné fórum. Nedávno jsem koukal na fórum builder.cz, snažil jsem se zjistit, jakým způsobem tě odtamtud vyštvali a nic zajímavého jsem nenašel. Poraď.

Spis jsi mel hucet do dazatele na zdrojak :)
Myslíš, že jsem mu měl napsat něco jako „Chtělo by to ukázku“?

hold lenost si pusti gugl pro slova: body documentElement compatibility
Přečti si, na co odkazuješ.

Pochopitelne, ze v IE, kdyz to pouzivam pro e.clientX, ktery patri k IE. To da rozum.
Ve tvém druhém odkazu říká PPK: „document.body has been added by Microsoft.“
Tvůj kousek skriptu řeší něco úplně jiného a ano, obchází ten problém, že někde jsou vlastnosti na <body> a jinde na <html>. To ale nesouvisí s tím, jestli funguje document.body.

Chlapci (Dero + Chamurappi), jako u te opery a tez google SEO
Tak pokornou kapitulaci jsem od tebe nečekal.

takze uz zde nenapisi ani radku
Doufám, že se to vztahuje na celou diskusi.


Reaguji na pavelm:
Bylo by asi lepší načíst do toho okna nějakou prázdnou stránku, u které znáš strukturu. Při open('') se ti otevře výchozí prázdný dokument a myslím, že nemáš jisté, co v něm je. Kdyby sis načetl připravenou stránku, mohl bys též lépe využít stylů -- necpat barvy poznámek, varování a chyb přímo do JS.
Budeš-li do okna jen přihazovat texty, doporučuji užívat innerHTML.
habendorf
Profil
Chamurappi

„Spis jsi mel hucet do dazatele na zdrojak :)“
Myslíš, že jsem mu měl napsat něco jako „Chtělo by to ukázku“?

„Chlapci (Dero + Chamurappi), jako u te opery a tez google SEO“
Tak pokornou kapitulaci jsem od tebe nečekal.

LOL :o))
Dero
Profil
petuv poslední OT příspěvek vymazán, vraťme se v klidu k tématu, prosím.
Toto téma je uzamčeno. Odpověď nelze zaslat.