JSON vs IE6

JSON vs IE6
2009-03-04T14:06:09+01:00
2009-03-06T18:35:12+01:00
2022-11-12T20:05:34+01:00
Eszk
Sziasztok!

Egy alkalmazáshoz JSON-t szeretnék használni, ám van egy komoly problémám, miszerint FF3/Safari/Opera/Chrome támogatja amit írtam, de IE6 mindig kihal. Próbáltam neten utánanézni, hogy melyik pont lehet amit elrontottam, vagy amit IE6-nak másként kell megadni, de sajnos nem találtam semmi hasznos. Gondoltam bemásolom, hátha valaki kiszúrja, hogy az a hülye böngésző melyik ponton és mitől esik hanyatt.

Ez a kód:
$( document ).ready( function() { $( "#echart" ).echart({ "chart" : [[{"height":30,"value":30},{"height":0,"value":0}]], "style" : { "chartWidth" : 800, "chartHeight" : 300, "backgroundColor" : "#000000", "columnwidth" : 5, "color1" : "#00ff00", "color2" : "#ff0000", "color3" : "#ffffff", "hightLightColumn" : "#ff00ff" }, "xaxis" : ["2009-03-04<br \/>12:03:35","2009-03-04<br \/>12:03:35"], "update" : { "ajax" : "/_esc/stat/ajax.php", "time" : "60", "intervalstart" : "1236167375" } }); });


Azt mondja, hogy ebben

$( "#echart" ).echart({

és

"update" : {

sorokban valami hiba van. De fogalmam sincs mi, és elég sürgős lenne a válasz rá... súgjon valaki! :)

Köszi előre is!
Mutasd a teljes hozzászólást!
$( document ).ready( function() { $( "#echart" ).echart({ ... }); });

Az utolsó előtti pontosvessző nagyon gyanús, mert az a ready függvény aktuális paraméter listájának a végén van, és paraméter listában nemigen szokás pontosvesszőt használni. Ki kéne törölni, hátha úgy megy IE6 alatt.
Mutasd a teljes hozzászólást!

  • Hát igen :D Nekem sokszor firefoxon is elég nehéz megtalálni a hibát, nem hogy ie6al... Esélytelen, kérdezősködj a framework gyártónál, ill. az azzal kapcsolatos fórumokban, fix, hogy többet tudnak segíteni, mint itt bárki. A hiba valszeg a framework-ben van, és nem abban, amit írtál. (Egyébként szerintem nincs olyan elvetemült ember, aki emiatt feltelepítené az ie6-ot. Én már nem nézem meg, hogy megy e alatta, mert egyszerűen nem érdekel. Nem hiszem, hogy bárhol komolyabb elvárás lenne még, hogy ie6-al is menjen az oldal, de ez az egyéni véleményem persze. )
    Mutasd a teljes hozzászólást!
  • Csak a probléma az, hogy céges dolog, IE6 saját dolgaimban már nem nagyon foglalkoztat :) Amúgy a framework az jQuery 1.3.2, de elvileg ennek nincs köze a framework-höz, nem? Úgy gondolom, hogy a JSON az alap a böngészőkben és a framework csak ezt használja. Vagy tévedek, és ez nem is beépített cucc? :)
    Mutasd a teljes hozzászólást!
  • JScript-ben mit is jelentenek pontosan a $(document) és $("#echart") kifejezések?
    Mutasd a teljes hozzászólást!
  • Az már jQuery :)

    Én nem arra gondoltam, hanem arra hogy:

    var valtozo = { "ez" : 1, "az" : 2 }

    Hogy szerintem ez alap JS és IE6-nak is kezelnie kéne, neeem? Hm? Hm? Hm? :)
    Mutasd a teljes hozzászólást!
  • alert(valtozo) -> [object Object]
    alert(valtozo.ez) -> 1
    alert(valtozo.az) -> 2

    Ie 6-ban is.
    Hm? Hm? Hm?
    Mutasd a teljes hozzászólást!
  • Na jó, ez szép és jó, de akkor amit írtam abban mi a hiba? miért hal meg olyan soroknál ahol én nem látok hibát? Hm? Hm? Hm? :D
    Mutasd a teljes hozzászólást!
  • Általában az szokott lenni, hogy az "#echart" elem nem létezik. Az FF megtalálja akkor is ha úgy hivják és az az ID-ja akkor is. Azonban az IE6 szigorúbb ennél. Az az id esetén id-t keres, hiába hívják úgy hogy echart.
    alert($( "#echart" ))
    mit mond?
    Mutasd a teljes hozzászólást!
  • $( document ).ready( function() { $( "#echart" ).echart({ ... }); });

    Az utolsó előtti pontosvessző nagyon gyanús, mert az a ready függvény aktuális paraméter listájának a végén van, és paraméter listában nemigen szokás pontosvesszőt használni. Ki kéne törölni, hátha úgy megy IE6 alatt.
    Mutasd a teljes hozzászólást!
  • Örök hála, egy élet is kevés lett volna, hogy megtaláljam :)

    Túlságosan rászoktam (p-vel :D ), hogy mindenhol pontosvesszőzöm :)
    Mutasd a teljes hozzászólást!
  • Várj, ez tényleg megoldotta a problémát? Csak azért kérdeztem, mert amit írtam, az nem jó... Lehet, hogy nem pont ezt a példát használod, vagy máshol volt pontosvessző-hiba?
    Mutasd a teljes hozzászólást!
  • Ez így nem igaz, a paraméter lista vége a függvény blokk részének lezárása "}", és nem a pontosvessző volt. Szintaktikai hiba nincs a cuccban. Egyébként ojjektumnál elég
    {ez: 1, az: 2}
    így kiírni, kivétel, ha változónévként nem szerepelhet a string, akkor tényleg ki kell tenni az ""-ket. Így csak plussz fájlméret, és hibázási lehetőség.
    Mutasd a teljes hozzászólást!
  • Én szerintem ebben a sorban van a hiba:
    "xaxis" : ["2009-03-04<br \/>12:03:35","2009-03-04<br \/>12:03:35"],
    Ha nem rakod a script taged belsejét nem html commentezed ki, akkor előfordulhat, hogy a script-ben lévő szöveget html tagnek fordítja be valamelyik böngésző.

    <script><!-- $( document ).ready( function() { $( "#echart" ).echart({ "chart" : [[{"height":30,"value":30},{"height":0,"value":0}]], "style" : { "chartWidth" : 800, "chartHeight" : 300, "backgroundColor" : "#000000", "columnwidth" : 5, "color1" : "#00ff00", "color2" : "#ff0000", "color3" : "#ffffff", "hightLightColumn" : "#ff00ff" }, "xaxis" : ["2009-03-04<br \/>12:03:35","2009-03-04<br \/>12:03:35"], "update" : { "ajax" : "/_esc/stat/ajax.php", "time" : "60", "intervalstart" : "1236167375" } }); }); //--></script>
    szerintem már menne. A másik lehetőség, hogy jquery nem támogatja ie6-ot, de erre meg azt írták, hogy támogatja.
    Mutasd a teljes hozzászólást!
  • Pontosan az volt a hiba, amit írtál, az echart plugin lezárásánál :) Álmomban sem gondoltam volna. Kivettem a pöttyösvesszőt, F5 és lefutott IE6 alatt. Más részén nem módosítottam, nem hiszem, hogy ott lett volna hiba :)

    Holnap bemásolom a mostani kódot, mert itthonról nem érem el most, aztán akkor lehet elemezni, de azt hiszem csak az változott :)
    Mutasd a teljes hozzászólást!
  • Na itt a kód:

    $( document ).ready( function() { $( "#echart" ).echart({ "chart" : [[{"height":0,"value":0},{"height":0,"value":0}]], "style" : { "chartWidth" : 800, "chartHeight" : 300, "backgroundColor" : "#000000", "columnwidth" : 5, "color1" : "#00ff00", "color2" : "#ff0000", "color3" : "#ffffff", "hightLightColumn" : "#F2F810" }, "xaxis" : ["2009-03-06<br \/>08:03:04","2009-03-06<br \/>08:03:04"], "update" : { "ajax" : "/_esc/stat/ajax.php", "time" : "60", "intervalstart" : "1236324364" } }) });

    Tényleg nem rémlik, hogy a JSON-on bármi mást változtattam volna a pontosvesszőn kívül, és most nem is nagyon látom, hogy lenne változás... a lényeg, hogy megy, köszi :)
    Mutasd a teljes hozzászólást!
  • Egyetértek Infernóval, pont emiatt írtam is 16:49-kor, hogy nem helyes a korábbi megjegyzésem a ;-ről, ő meg leírta miért nem az. És ezért kérdeztem vissza, hogy is volt ez pontosan.

    De azért szívesen.
    Mutasd a teljes hozzászólást!
  • Wallhack! Ennyi Valamit tudsz, amit én nem
    Mutasd a teljes hozzászólást!
  • Talán akad egyszer valaki, aki elmagyarázza nekünk, hogy oldottuk meg ezt a problémát
    Mutasd a teljes hozzászólást!
Tetszett amit olvastál? Szeretnél a jövőben is értesülni a hasonló érdekességekről?
abcd