28-09-2010, 21:30
Dzięki za odpowiedź!
Nie wiedziałem, że można Flasha zamienić tym jQuery, który działa tak samo i może być pozycjonowany lepiej.
Otworzyłem plik bmi.js, znajdował się w nim koszmarnie sformatowany kod w 138 linijkach. Pozmieniałem wcięcia i uzyskałem przejrzysty kod o 707 linijkach. Przejrzałem go i wypisałem zmienne oraz główne funkcje.
Pojawił się tam dziwny komentarz (choć w sumie nie jest to aż taka istotna kwestia). Oryginalny plik:
Po wykonaniu wcięć wygląda na to, że najpierw wyrzuca z funkcji przy pomocy "return 1", następnie znajduje się nigdy niewykonywane "return 0":
Która z funkcji może być odpowiedzialna za problem z wczytywaniem? Zgaduję, że bmi_load(). W skróconej wersji wygląda ona tak:
Co w niej może być przyczyną? (W razie czego mogę podać pełny kod funkcji).
Pozdrawiam!
Nie wiedziałem, że można Flasha zamienić tym jQuery, który działa tak samo i może być pozycjonowany lepiej.
Otworzyłem plik bmi.js, znajdował się w nim koszmarnie sformatowany kod w 138 linijkach. Pozmieniałem wcięcia i uzyskałem przejrzysty kod o 707 linijkach. Przejrzałem go i wypisałem zmienne oraz główne funkcje.
Cytat:Spis zmiennych:
bmi_htmlEdit; bmi_ie; bmi_ns; bmi_safari; bmi_imageObjSelected; bmi_ffx_op_toolTip; bmi_toolTip; bmi_ns_tooltip; bmi_toolTipSeperator; bmi_concatStr; bmi_frameNotAllowed; agt; is_major; is_minor; bmi_ns; bmi_ns2; bmi_ns3; bmi_ns4; bmi_ns4up; bmi_nsonly; bmi_ns6; bmi_ns6up; is_gecko; bmi_firefox; bmi_safari; bmi_ie; bmi_ie3; bmi_ie4; bmi_ie4up; bmi_ie5; bmi_ie5_5; bmi_ie5up; bmi_ie5_5up; bmi_ie6; bmi_ie6up; bmi_opera; bmi_opera2; bmi_opera3; bmi_opera4; bmi_opera5; bmi_opera5up; bmi_orig_onLoad;
Spis funkcji:
bmi_checkAccess(win); bmi_ImageElement(el); bmi_resetTitle(el); bmi_checkElement(el); bmi_setElementTitle(el); bmi_checkInputType(type); bmi_checkMIMEType(type); bmi_mouseOver(e); bmi_safeMouseOutEvents(e); bmi_updateImageSrc(src); bmi_replaceImages(array); bmi_replaceInputImages(array); bmi_NSlayers(); bmi_downloadAllHandler(); bmi_reDownloadAllImages(); bmi_reDownloadSelectedImage(img); bmi_keypress(e); bmi_linkMapImages(maps,objs); bmi_load(); bmi_SafeAddOnload(f,urlStr,htmlEdit);
Najdłuższe funkcje to: bmi_checkElement(el), bmi_updateImageSrc(src), reDownloadAllImages(), bmi_keypress(e), bmi_load()
Pojawił się tam dziwny komentarz (choć w sumie nie jest to aż taka istotna kwestia). Oryginalny plik:
Kod:
function bmi_checkMIMEType(type){var typeStr=new String(type);var find=/image\//gi;if(typeStr.search(find)!=-1)
Po wykonaniu wcięć wygląda na to, że najpierw wyrzuca z funkcji przy pomocy "return 1", następnie znajduje się nigdy niewykonywane "return 0":
Kod:
function bmi_checkMIMEType(type)
{
var typeStr=new String(type);
var find=/image\//gi;
//if(typeStr.search(find)!=-1)
return 1;
return 0;
}
Która z funkcji może być odpowiedzialna za problem z wczytywaniem? Zgaduję, że bmi_load(). W skróconej wersji wygląda ona tak:
Kod:
function bmi_load()
{
if(bmi_orig_onLoad)
{
bmi_orig_onLoad();
}
if(bmi_ns2||bmi_ns3||bmi_ns4)
{ [...] }
if(document.onmouseover)
{ [...] }
document.onmouseover=bmi_mouseOver;
if(document.onkeypress)
{ [...] }
else
{ [...] }
document.onkeypress=bmi_keypress;
var maps=document.getElementsByTagName("MAP");
if((maps==null)||(maps.length==0))
{return;}
var objs=null;
if(bmi_ie||bmi_opera)
{ [...] }
if(bmi_ns||is_gecko)
{ [...] }
return;
}
Co w niej może być przyczyną? (W razie czego mogę podać pełny kod funkcji).
Pozdrawiam!