Autor | Zpráva | ||
---|---|---|---|
Tomkinss Profil |
#1 · Zasláno: 31. 10. 2012, 17:38:56
Zdravím,
Potreboval by som pomôcť s problémom v IE8. Nefunguje mi tam JS zápis: msg = '<a href="test">ahoj</a>'; var span = document.createElement('p'); span.innerHTML = msg; document.getElementById('d_debug').appendChild(span); V iných moderných prehliadačoch problém nemám (Aj v IE9 to funguje). Čítal som, že InnerHTML IE8 nepodporuje a že to mam nahradiť document.write() ale čo som aj skúšal ale nejak sa mi to nepodarilo. Bol by som naozaj vdačný tomu, kto by mi s týmto problémom pomohol. |
||
Chamurappi Profil |
#2 · Zasláno: 31. 10. 2012, 17:54:45
Reaguji na Tomkinsse:
„Čítal som, že InnerHTML IE8 nepodporuje“ Kde? Explorer kdysi dávno innerHTML vymyslel.
Chybová konzole nic nehlásí? Je opravdu problém s innerHTML ? Nebo s appendChild ?
Element s id="d_debug" je co? Jestli je to odstavec, tak je problém v tom, že nemůžeš strčit odstavec do odstavce.
Pokud jsem se netrefil, prosím o odkaz na živou ukázku. |
||
_es Profil |
#3 · Zasláno: 31. 10. 2012, 18:04:38
|
||
peta Profil |
_es:
??? msg = '<a href="test">ahoj</a>'; To bohate staci na to, aby msg dostalo nejakou hodnotu, pokud neni msg definovane nekde jinde treba jako funkce. Tomkinss: To neni kod, ktery mi staci zkopirovat do souboru a spustit. Neobsahuje element s id='d_debug', napr. Po uprave na tento kod mi hlasi konzola v ie (shift+f12, f5) chybu SCRIPT5007: Nelze načíst hodnotu vlastnosti appendChild: Objekt má hodnotu Null nebo není definován. <div id='d_debug'></div> <script> msg = '<a href="test">ahoj</a>'; var span = document.createElement('p'); span.innerHTML = msg; document.getElementById('d_debug').appendChild(span); </script> nejde. <body> <div id='d_debug'></div> <script> msg = '<a href="test">ahoj</a>'; var span = document.createElement('p'); span.innerHTML = msg; alert(document.getElementById('d_debug')) // a tez alert, ktery pouzivam pro testovani pri ladeni, kdyz neco nejede document.getElementById('d_debug').appendChild(span); </script> </body> Chamurappi: ??? A odstavec do odstavce lze strcit i v IE <body> <p id='d_debug'></p> <script> msg = '<a href="test">ahoj</a>'; var span = document.createElement('p'); span.innerHTML = msg; alert(document.getElementById('d_debug')) document.getElementById('d_debug').appendChild(span); </script> </body> |
||
_es Profil |
peta:
„To bohate staci na to, aby msg dostalo nejakou hodnotu, pokud neni msg definovane nekde jinde treba jako funkce.“ To „bohato stačí“ na to, aby to v IE „nefungovalo“, ak sa v dokumente nachádza niečo s id="msg" alebo s name="msg" . Ak by bolo msg definované ako funkcia, tak by to fungovalo.
|
||
peta Profil |
Moderátor Chamurappi: Vyhozeno … a vráceno.
_es: "To „bohato stačí“ na to, aby to v IE „nefungovalo“" Oba priklady, co jsem poslal, nemaji var msg; a funguji mi v IE9 a v IE9 rezim IE8. Kdyz to funguje, tak nechapu, proc tvrdis, ze ne. Ale u MS je mozne vsechno, ruzna verze IE, win, nastaveni... Staci zmenit malickost a MS se sype... Moderátor Chamurappi: Přečti si pořádně, co ti píše, a neplevel.
|
||
_es Profil |
#7 · Zasláno: 2. 11. 2012, 10:29:47
peta:
„nemaji var msg; a funguji mi v IE9 a v IE9 rezim IE8“ Čo si tak príspevok najprv poriadne prečítať, než zareaguješ? (_es:„ak sa v dokumente nachádza niečo s id="msg" alebo s name="msg"“) V akej verzii IE a s akým „nastavením“ ti funguje toto?: <!doctype html> <div id=x>x</div> <script> x=1;alert(x) </script> |
||
peta Profil |
OT: "pokud neni msg definovane nekde jinde" (peta)
To jsem psal, ne? Kdyz ho definujes jako neco jineho, tak to nepojede, to je pomerne logicke. jinak souhlasim s tim, aby to bylo smazane. Ale tez by mohl ten ES priklad zustat, to je dobra ukazka. Tu ukazku s funkci se mi nechtelo vytvaret. |
||
_es Profil |
peta:
„Tu ukazku s funkci se mi nechtelo vytvaret.“ „Kdyz ho definujes jako neco jineho, tak to nepojede, to je pomerne logicke.“ <!doctype html> <div id=x>x</div> <script> function x(){} x=1;alert(x) </script> |
||
Časová prodleva: 3 dny
|
|||
Tomkinss Profil |
#10 · Zasláno: 5. 11. 2012, 10:25:55
Vyhadzovalo mi neznámu chybu na riadku v ktorom bol createElement.
Vyriešil som to tak, že som všetok javascript nahradil jquery a už to funguje aj v IE8. |
||
Chamurappi Profil |
#11 · Zasláno: 5. 11. 2012, 13:00:55
Reaguji na Tomkinsse:
To není řešení popsaného problému. |
||
_es Profil |
#12 · Zasláno: 5. 11. 2012, 13:32:10
Tomkinss:
„Vyhadzovalo mi neznámu chybu“ To je aká, tá „neznáma“ chyba? |
||
Tomkinss Profil |
#13 · Zasláno: 5. 11. 2012, 19:50:00
Neviem aka bola ta neznama chyba, Debag v IE mi vypísal "Neznáma chyba na riadku 307 znak 7". Keď som na to klikol, označil sa mi riadok v ktorom bolo:
var span = document.createElement('p'); |
||
joe Profil |
#14 · Zasláno: 5. 11. 2012, 20:09:01
Tomkinss:
„var span = document.createElement('p');“ IE má asi umělou inteligenci a správně ti nedovolí vecpat odstavec do spanu :-) „Vyriešil som to tak, že som všetok javascript nahradil jquery a už to funguje aj v IE8.“ Možná ti to funguje, ale není to řešení, je to obejití problému. |
||
Tomkinss Profil |
#15 · Zasláno: 5. 11. 2012, 20:17:26
joe:
vkladám do div-ka, span je len premenná. |
||
_es Profil |
#16 · Zasláno: 6. 11. 2012, 07:40:49
Tomkinss:
> Keď som na to klikol, označil sa mi riadok v ktorom bolo: > var span = document.createElement('p'); Vyvolal uvedený príkaz chybu? Nevyvolal chybu predchádzajúci príkaz? Chcelo by to „živú“ ukážku. „som všetok javascript nahradil jquery“ Časté potíže, zajímavosti a poučné debaty » Co vlastně je jQuery? |
||
Časová prodleva: 3 dny
|
|||
peta Profil |
joe: Ale, to uz jsem preci jednou dokazal chamurapimu, ze to jde, viz [#4].
Tomkinss [#4] Ten kod dole, tak, jak je, kdyz zkopirujes do cisteho souboru, tak mi fungoval. Nebylo zapotrebi to resit pres jquery. Je mozne, ze IE je citlivy na doctype a neuznava P ve SPAN. Bez doctype, viz muj kod, mi to jede. Je mozne, ze s doctype neuznava mala pismena pro create element p a P je povazuje za rozdil. Ale oboji je tip do vetru, testovat to nejdu. Pro mne to hasne. Kod, ktery jsem poslal, funguje. Doctype jsi neuvedl, tak jsem ho nemusel zahrnout do testovani. |
||
Časová prodleva: 11 let
|
0