Autor | Zpráva | ||
---|---|---|---|
pavelm Profil |
#1 · Zasláno: 22. 1. 2007, 16:51:59
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 |
#2 · Zasláno: 23. 1. 2007, 10:44:41
pavelm
var body = document.getElementsByTagName('body')[0]; protoze IE je IE a ma document.body document.bodyElement a mam pocit jeste neco |
||
Chamurappi Profil |
#3 · Zasláno: 23. 1. 2007, 18:47:41
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 |
#4 · Zasláno: 23. 1. 2007, 21:32:05
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 |
#5 · Zasláno: 23. 1. 2007, 21:35:55
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 * |
#6 · Zasláno: 24. 1. 2007, 01:30:34
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 |
#7 · Zasláno: 24. 1. 2007, 08:56:11 · Upravil/a: peta
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 |
#8 · Zasláno: 24. 1. 2007, 09:37:47
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 |
#9 · Zasláno: 24. 1. 2007, 09:45:18
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 |
#10 · Zasláno: 24. 1. 2007, 11:32:29
peta
...to som zvedavý na reakciu Chamurappi-ho... |
||
peta Profil |
#11 · Zasláno: 24. 1. 2007, 20:17:27
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 |
#12 · Zasláno: 25. 1. 2007, 01:02:39
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 |
#13 · Zasláno: 25. 1. 2007, 13:10:34
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)) |
||
Časová prodleva: 3 dny
|
|||
Dero Profil |
#14 · Zasláno: 28. 1. 2007, 14:52:30
petuv poslední OT příspěvek vymazán, vraťme se v klidu k tématu, prosím.
|
||
Časová prodleva: 17 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0