Autor | Zpráva | ||
---|---|---|---|
Tori Profil |
#1 · Zasláno: 25. 7. 2012, 10:49:39
Neviděli jste někdo nějaký seznam / checklist toho, co v JavaScriptu nefunguje před verzí IE 8? Nějaké jednotlivosti jsem našla (přebývající čárky za posledním prvek pole/objektu, chyba u Element.insertBefore, více než 32k příkazů v jednom souboru), ale na nějaký obsáhlejší seznam co zkontrolovat jsem nenarazila. Nevíte o něčem?
Snažím se odladit skript (JS vyhledávač), který v IE8 funguje, ale IE7 a níž ne, a nemůžu přijít na to, jak zjistit příčinu. V IE Testeru při té chybě zkolabuje celá záložka. Je tam nějaká ochrana (Win Vista), která při chybě shodí program, a nedá se nastavit výjimka pro IE Tester. Visty mě nechaly nainstalovat nižší verzi IE ale odmítají ji spustit. V IE8 jsou nějaké vývojářské nástroje, dají se přepnout na režim IE 7, ale stránka funguje bez problémů (stejně jako v režimu IE8). VirtualBox mám, ale Windows do něj nedostanu, neb mám nefunkční mechaniku. JSLint / JSHint našly jen běžné věci (== místo ===, úmyslné přiřazení místo porovnávání apod.). Zkoušela jsem vyhledávat od takových začátečních písmen, aby se načítaly ty nejmenší indexové soubory (JSON objekt), v tom chyba nebyla. ... Co by s tím ještě šlo udělat? Budu ráda za nějaké nasměrování. |
||
_es Profil |
#2 · Zasláno: 25. 7. 2012, 11:37:05
Bez živej ukážky ťažko špekulovať nad všetkými možnými odlišnosťami.
|
||
Keeehi Profil |
#3 · Zasláno: 25. 7. 2012, 11:40:21
Tori:
Do virtualbox se dá nainstalovat operační systém i mez fyzické mechaniky. Samotný virtualbox umí číst obrazy disků v ISO a asi třech dalších, případně se dá použít i virtuální mechanika pro obrazy, které virtualbox sám otevřít nezvládne. |
||
1Pupik1989 Profil |
#4 · Zasláno: 25. 7. 2012, 11:55:43
Já se občas orientuji podle Quirksmode.org. Většinou ale prostě nezbývá nic jiného než Google. Doufám, že to alespoň trochu pomůže.
|
||
Str4wberry Profil |
#5 · Zasláno: 25. 7. 2012, 12:30:35
Na zjištění, kde která věc funguje, používám stránku When can I use....
|
||
Tori Profil |
#6 · Zasláno: 25. 7. 2012, 13:08:28
To jsem nevěděla, Keeehi, díky, vyzkouším. Ostatním děkuju za odkazy, pročtu si je. Když to nezabere, bude i živá ukázka.
|
||
Tori Profil |
#7 · Zasláno: 27. 7. 2012, 08:28:08
Chyba byla nakonec syntaktická (chybějící středníky za
if (...) { var x = function() { ... }; } ) v kombinaci s tím, že IE7 je přísnější než pozdější verze (takže při chybě nebyl definovaný globální objekt vyhledávače). Ve virtuálních XP šlo nainstalovat a spustit několik verzí IE + MS script debugger a s tím už to šlo krásně. Děkuju všem za pomoc.
|
||
_es Profil |
Tori:
„chybějící středníky za if (...) { var x = function() { ... }; }“ Tá bodkočiarka je nadbytočná. Problém je v tom, že JS neumožňuje podmienené definovanie premennej, no ak sa to v kóde nachádza, tak k tomu rôzne prehliadače pristupujú rôzne. |
||
Chamurappi Profil |
#9 · Zasláno: 27. 7. 2012, 13:51:11
Reaguji na Tori:
To se mi zdá nějaké divné. S volitelností středníků vedu válku už pět let, protože používám minifikátor, který o ně nepečuje, takže dokáže scucnutím do jednoho řádku udělat syntaktickou chybu a já pak musím najít, kde jsem středník zapomněl. Nikdy jsem si za tu dobu nevšiml, že by se Explorer 7 odlišoval od ostatních. Na podobnou situaci už bych narazit musel, funkce podmíněně přiřazuji často (i když bez var u).
|
||
Tori Profil |
#10 · Zasláno: 27. 7. 2012, 15:02:23
Chamurappi, _es: Omlouvám se za zavádějící informaci, ráno jsem spěchala a zapomněla na podstatné - čárky za posledním prvkem objektu. Tohle (=středníky) byla jedna z dalších drobností, které jsem taky opravovala, ale nezjišťovala jsem už, jestli fatální nebo ne.
|
||
Časová prodleva: 3 dny
|
|||
_es Profil |
#11 · Zasláno: 30. 7. 2012, 08:40:20
Tori:
„Tohle (=středníky) byla jedna z dalších drobností, které jsem taky opravovala, ale nezjišťovala jsem už, jestli fatální nebo ne.“ Tá bodkočiarka nie je vôbec chyba, je úplne nadbytočná. Problémy môže spôsobovať podmienené použitie príkazu var , ktoré rôzne prehliadače spracujú rôzne.
|
||
Tori Profil |
#12 · Zasláno: 30. 7. 2012, 08:44:30
_es:
Takže správně by bylo podmíněné přiřazení hodnoty? var x = null; // nebo jiná výchozí hodnota if (podminka) { x = function() { ... } } |
||
_es Profil |
#13 · Zasláno: 30. 7. 2012, 08:54:19
Tori:
„Takže správně by bylo podmíněné přiřazení hodnoty?“ Áno, príkaz var by mal byť nepodmienený.
„var x = null; // nebo jiná výchozí hodnota“ Alebo len var x; a hodnotou x bude undefined , alebo sa nezmení, ak je x už definované.
|
||
Tori Profil |
#14 · Zasláno: 30. 7. 2012, 08:58:03
_es:
Díky. JavaScript jsem se "učila" spíš metodou pokus/omyl, takže občas dělám základní chyby. |
||
Časová prodleva: 11 let
|
0