IE hibaüzenet látszólag értelmetlenül
Sziasztok!
Van egy weboldalam ami tökéletesen működik az összes böngésző alatt, de az IE debuggere folyamatosan hibát jelez ki, miközben pl. A Firefox debuggere nem. A hibaüzenet mindig ugyanaz:
Sor: 104
Karakter: 99
Hiba: Az objektumot kötelező megadni
A vicces az, hogy mindig ezt a sor és karakterszámot írja ki, bármelyik aloldalról legyen is szó, miközben ebben a sorban más és más van, ami véletlenül sem objektum, hanem mondjuk csak ennyi: <td class="pg">. A közös ezekben a sorokban az, hogy nincs bennük 99 karakter, tehát a hibaüzenet egy nemlétező helyre utal. Elég idegesítő, mert ugye az IE-ben emiatt állandóan ott van a bal alsó sarokban a figyelmeztető sárga háromszög, és ez nem vet túl jó fényt rám, viszont fogalmam sincs, hogy miképp tudnék elhárítani egy nem létező hibát.
Nem találkozott valaki hasonlóval?
Üdv,
Fedor
■ Van egy weboldalam ami tökéletesen működik az összes böngésző alatt, de az IE debuggere folyamatosan hibát jelez ki, miközben pl. A Firefox debuggere nem. A hibaüzenet mindig ugyanaz:
Sor: 104
Karakter: 99
Hiba: Az objektumot kötelező megadni
A vicces az, hogy mindig ezt a sor és karakterszámot írja ki, bármelyik aloldalról legyen is szó, miközben ebben a sorban más és más van, ami véletlenül sem objektum, hanem mondjuk csak ennyi: <td class="pg">. A közös ezekben a sorokban az, hogy nincs bennük 99 karakter, tehát a hibaüzenet egy nemlétező helyre utal. Elég idegesítő, mert ugye az IE-ben emiatt állandóan ott van a bal alsó sarokban a figyelmeztető sárga háromszög, és ez nem vet túl jó fényt rám, viszont fogalmam sincs, hogy miképp tudnék elhárítani egy nem létező hibát.
Nem találkozott valaki hasonlóval?
Üdv,
Fedor
az IE debuggere sz@r
Szóval:
A 104-es sort úgy találod meg, hogy:
1.) végignézed az összes külsőleg hivatkozott javascriptet, megnézed, van-e 104 sor benne és abban a sorban van-e 99. karakter.
2.) végignézed a forrást, kitörlöd belőle az összes nem javascript sort és megnézed, hogy van-e benne 104. sor, illetve abban van-e 99. karakter :)
(Ha mindig ua. a helyet írja ki, akkor 99%, hogy nem a forrás az, hanem vmelyik behúzott JSfile, hacsak nem egy nagyobb js-sel kezdesz a forrás elején...)
Ezekután van Xdb találatod a 104-es sorokra, innen már rádbízom.
FX alatt nem ad warningot, hibát, semmitsem? Nemlehet, hogy egy javascripttel böngészőfüggősített sor fut zátonyra?
Remélem segítettem :o)
A JS-re vonatkozik
- ha több js is van include-olva, akkor mindet érdemes végignézni (azt nem tudom, hogy az összes js-t egy fájlként kezeli-e és az include-ok sorrendjében összefűzve adja a 104.sort, de ez nem valószínű)
- ilyen hibával akkor szoktam találkozni, amikor js-ből hozok létre DOM-mal dolgokat és utána document.getElementById-vel hivatkozok rá, de az IE nem minden esetben találja meg (nem jöttem még rá, hogy mikor igen, mikor nem)
- előfordulhat, hogy a js előbb kezd el futni, mint ahogy a teljes tartalom betöltődne és hivatkozni akar egy még nem létező objektumra (ezt kizárni látszik az a tény, hogy csak az IE dob hibát)
- ha embedelt js van, akkor pedig ott kell lenni a <td> környékén a hibának...
remélem, ezek alapján megtalálod a hibát
Sajnos nem jutottam előbbre
A firefox debuggere semmit nem jelezz erre a sorra, még figyelmeztetést se.
Az oldal dinamikus, adatbázis alapú, persze tele van include-okkal (mindegyik oldal más és más include-okból épül fel, gyakorlatilag egy olyan van csak, amelyik az összes oldalban előfordul, és abban nincs 104 sor), meg van kivülről meghívott javascript is (nincs benne 104 sor), de amikor a forrás 104-ik soráról beszéltem, akkor úgy értettem, hogy megnéztem a böngészőben generált oldal forráskódját, és annak a 104-ik sorát ellenőriztem, elvégre az IE a változókkal módosított oldalra hivatkozott, nem az alap php fájlra.
Kiegészítés: Előfordul, hogy a hibajelzés nem jelenik meg, miközben ugyanaz az oldal már hibás mondjuk a frissítés gomb megnyomása után. Csak hogy még érdekesebb legyen
Nem betöltött objektum
új verzió
Én!
Ennyire kekec lenne az IE mostanában?
Kösz.
Hát, ez hiba is...
de, meglepetést okoztál.
Azt hittem, a legelső hozzászóló (én :P ) felvilágosított, hogy a <SCRIPT>-tag-ban kell keresni a hibát.
Nembaj, elmondom mégegyszer:
1.) Az összes SCRIPT-tag-on kívüli részt törlöd a generált forrásból, hogy csak a javascript maradjon. Megkeresed benne a hivatkozott sort és megnézed, hogy mi ahiba.
2.) HA nem találtál az 1.)-es pontban semmit hibát, AKKOR fogod az összes külső javascript-fájlt, megnézed bennük a jelzett sort, és ha hibás, kijavítod...
3.) Refresh/Reload és utána kezdheted keresn ia következő hibasort...
Hol itt a javascript?
tényleg nem érted?
Ne haragudj, de ennnyire nehéz felfogást...
A HTML-forrásodban lévő javascript kód első két sorát írd ide.
pfff.