Autor | Zpráva | ||
---|---|---|---|
Fred Profil |
#1 · Zasláno: 24. 6. 2005, 16:10:57
Po dvouhodinovém bádání proč se mi nezobrazuje v MSIE tabulka generovaná pomocí document.createElement, jsem zjistil, že to v něm bez tbody a thead nelze zprovoznit. Nemohl jsem na to za boha přijít, zvlášť když IE chybu nehlásit a když jsem si nechal pomocí bookmarkletu zobrazit generovaný zdroj ta tabulka tam byla. Tak to sem píšu, kdyby to někdo chtěl vzdát, třeba to tu najde. Mimo jiné jsem narazil na zajímavé porovnání rychlosti innerHTML a nodeValue :-) http://www.gtalbot.org/HTMLJavascriptCSS/innerHTMLvsNodeValue.html
|
||
Leo Profil |
#2 · Zasláno: 24. 6. 2005, 16:43:09
document.createElement
Jaky element? Leo |
||
Fred Profil |
#3 · Zasláno: 24. 6. 2005, 18:38:14
table, když vytvořím table a v něm tr a v nich td IE to bez tbody sice vytvoří, ale vůbec nezobrazí. Když jsem si nechal zobrazit generovaný zdroj (http://www.squarefree.com/bookmarklets/webdevel.html) , ta tabulka tam byla, a nezobrazila se ani když jsem odstřihnul styly. Je to tady http://xy.wz.cz/loan/uver.html nahoře vyplnit nějaké částky a dole sestav splátkový kalendář. OT: Potřebuju auto trochu víc jsem boural
|
||
Leo Profil |
#4 · Zasláno: 24. 6. 2005, 18:50:47
Zajimavy, vyzkousim. Je pravda, ze kdyz jsem tabulku tridil podle abecedy pro clanek na Intervalu, tak jsem tam tbody a thead mel, Leo
|
||
peta Profil * |
#5 · Zasláno: 24. 6. 2005, 19:32:25
Fred: Vis, co je zajimavy? Ja generovany veci vpisuji temer vzdy do divu pres inner a tento problem nemam. Tys to do neceho vpisoval nebo creatoval volne do dokumentu? Jestli tam nemas neco jinyho treba jeste. Ale je to zajimavy :)
A co se stane, kdyz vysledek vpises do textarea a co se stane, kdyz to das do iframu? (ve ff umi zobrazit zdrojovy kod framu vepsaneho pomoci js pres write, v ie jsem nezkousel) |
||
Fred Profil |
#6 · Zasláno: 24. 6. 2005, 19:43:50
peta To vše je k ničemu, protože to není validní, můžeš si to jednoduše v Gecku zvalidovat přidání jednoho písmenka do přípony dokumentu a to x. Pokud je validní DOM, vše proběhne jak má, pokud ne zhroutí se parser. Jestli máš FF zkus tohle http://xy.wz.cz/loan/uver.xhtml s IE tam nelez, neumí ten mime typ. Prostě když změníš příponu na *.xhtml vykopeš js do externího souboru a script funguje je to na 90% validní DOM, pokud ne je to problém. Některá věci jsou sice složitější na zápis, ale spolehlivě fungují všude.
|
||
peta Profil * |
#7 · Zasláno: 25. 6. 2005, 14:36:28
"
Mimo jiné jsem narazil na zajímavé porovnání rychlosti innerHTML a nodeValue :-) http://www.gtalbot.org/HTMLJavascriptCSS/innerHTMLvsNodeValue.html " To je sice pekne, ale srovnavaji nesrovnatelne :) Ale priklad je to hezky. Pro prepsavi hodnoty se obvykle pouziva palue. Coz teda u P neni. Nicmene inner se pouziva pro vepsani celeho obsahu i s elementy. Coz childNodes[0].nodeValue dosahnes vemlni tezko... <div id="xxx"></div> <script> obj.innerHTML="<table>...<\/table>" </script> Kdyz tam pridas jeste funkci pro pripisovani tagu, tak dostavas podobny casy (cili analyzu obsahu). |
||
Fred Profil |
#8 · Zasláno: 25. 6. 2005, 18:27:32 · Upravil/a: Fred
peta 1/vůbec nerozumím, je to dost zmatené. Ale kdyby jsi použil innerHTML pro vepsani celeho obsahu i s elementy tak jaksi musíš spočítat do toho času, i samotné načtení stránky. Tzn., že musíš porovnávat stránky dvě. Proto je to udělané tak jak je to udělané. Takže pokud by jsi neporozuměl co jsi to napsal za nesmysl, tak věz, že 400*<p>innerHTML eht (tnemngissa) gnicalper yb deifidom txet wen eht si siht ,woN</p> má v čistém kódu objem 32.4kB . Takže copak se asi načte rychleji?
2/Dej si tam tu příponu a uvidíš sám. |
||
peta Profil * |
#9 · Zasláno: 27. 6. 2005, 10:11:39
jakou priponu?
Ja tvrdim, ze srovnavaji nesrovnatelne. innerhtml nema jen funkci neco nekam vepsat, ale soucasne to neco muzou byt elementy. Schvalne jsem si to pohledal, protoze jsem to chtel pouzit na bludiste s 4000 elementy. Proste v DOM nenexistuje funkce, kde muzes napsat aaa="<p>fff</p><b></b>" cimz innerhtml usnadnuje praci. Ano, urcite by to slo obejit pouzitim 2-3 funkci, ale musel bys analyzovat (ted nevim y/i) obsah... Coz na te strance neni uvedeno. Ano, slo by to udelat cyklem, kde si zadam vytvareni "b" a "p" a naplneni obsahu, coz skoro delam pri vytvareni mapky toho bludiste... (jenze to jsem take zkoumal a nemel jsem tu trpelivost si vyhledat na intervalu prislusne funkce) Cili podle mne spravnejsi by bylo srovnavat neco.value a dom Ale uznavam, ze je to zajimavy priklad. Jinak narazil jsem na tyto stranky, treba se nekomu hodi http://interval.cz/clanek.asp?article=1569 http://interval.cz/clanek.asp?article=1140 http://interval.cz/clanek.asp?article=3679 http://interval.cz/discussion-read.asp?disc=3356 http://www.zive.cz/h/Programovani/AR.asp?ARI=104243&CAI=2036 |
||
Fred Profil |
#10 · Zasláno: 27. 6. 2005, 14:59:34
Kde máš to bludiště?
|
||
mila Profil |
#11 · Zasláno: 27. 6. 2005, 17:00:55
Jen tak mimochodem, trik, jak se jednoduše podívat na generovaný zdroj:
na začátek: document.write ('<xmp>'); na konec: document.write ('</xmp>'); |
||
Časová prodleva: 19 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0