HTML5 audio-tag forårsager fejl i JavaScript

Tags:    html5 javascript preload

<< < 123 > >>
Jeg har (fået) udviklet nogle nye elementer (scripts) til min hjemmeside, men jeg oplever problemer med et af dem. Elementerne er sat op til testing her:
http://www.grubbe.nu/scripts/

Problemet:
I midten (som nr. 4) har jeg en JavaScript 'niveau-vælger'. Den grå bar (der kører frem og tilbage mellem valgene) i niveauvælgeren loader langsomt (komme frem nogle sekunder efter siden er loadet) i nogle browsere, bl.a. Safari og Chrome.

Der gives en flaske vin til den, der kommer med løsningen :-)




Indlæg senest redigeret d. 24.07.2012 11:53 af Bruger #14061
27 svar postet i denne tråd vises herunder
0 indlæg har modtaget i alt 0 karma
Sorter efter stemmer Sorter efter dato
Desværre, ingen forbedring ved at fjerne det nævnte. Du kan se et live-eksempel her:
http://www.grubbe.nu/scripts/index3.html

Mærkeligt... især når det kun optræder i nogle browsere. Jeg glæder mig til den dag der kommer fælles standarder :-)



Desværre, ingen forbedring ved at fjerne det nævnte. Du kan se et live-eksempel her:
http://www.grubbe.nu/scripts/index3.html

Mærkeligt... især når det kun optræder i nogle browsere. Jeg glæder mig til den dag der kommer fælles standarder :-)


Så prøv at sætte window.setTimeout(ol, 100); tilbage i funktion.js og istedet fjern ol(); fra jquery.zoomer.1.0.js linje 129.

Jeg kunne forestille mig at det ville gøre det.
Grunden til dette er at ol(); i jquery.zoomer.1.0.js er i en (window).load funktion.
Disse (window).load funktioner kan jeg samtidig se flere steder i dine scripts, og de har det med indimellem at override eller sabotere hinanden :)



Her er resultatet af den løsning:
http://www.grubbe.nu/scripts/index4.html

I Chrome (Mac) skal jeg genindlæse (refresh) siden før den grå bar kommer frem.
I Safari (Mac) og IE (PC) kommer den grå bar frem med det samme. Genindlæser jeg siden forsvinder den grå bar til gengæld.
Det er blevet et større detektivarbejde..




Indlæg senest redigeret d. 24.07.2012 11:52 af Bruger #14061
Her er resultatet af den løsning:
http://www.grubbe.nu/scripts/index4.html

I Chrome (Mac) skal jeg genindlæse (refresh) siden før den grå bar kommer frem.
I Safari (Mac) og IE (PC) kommer den grå bar frem med det samme. Genindlæser jeg siden forsvinder den grå bar til gengæld.
Det er blevet et større detektivarbejde..


Alle de window.onload events giver bøvl med hinanden.
Og Nu da vi har prøvet at sætte window.setTimeout(ol, 100) udenfor et window.onload, sker det sikkert indimellem at den prøver at loade dine vælgere før dine scripts er færdige med at loade. Hvilket ikke kan lade sig gøre, derfor vises de aldrig.
Det bedste ville være at prøve at samle dine scripts lidt og ikke have flere onload events, men du kan prøve at lave denne
Fold kodeboks ind/udJScript kode 


om til dette:

Fold kodeboks ind/udJScript kode 


og så skal du lige fjerne den window.setTimeout igen :)



Der skal vist snart mere end en flaske vin til, for den løsning fungerede ej heller.
Nu er den grå bar helt forsvundet:
http://www.grubbe.nu/scripts/index1.html

Jeg må hellere forhøje indsatsen og give dig 500,- hvis du kommer med en løsning der virker :-)




noget af koden på dine sider ser godtnok noget funky (som i underligt) ud ... kigger f.eks. på actions.js og AudioPlayerV1.js er det noget kode du selv har lavet .. eller købt dig til på envato/codecanyon ? Eller noget helt andet ?

Generelt set er hele siden faktisk et stort rod ... en blanding af inline- og unobtrusive javascript samtidigt bliver der blandet HTML5 doctype sammen med en masse gamle HTML elementer. Plus der er det store no no, at der bliver brugt tabeller til stylling.

Der bliver loadet 15+ forskellige javascript filer, det kunne der sagtens skæres ned på, nogle af filerne kan fint slåes sammen. Eller om ikke andet, så loades på en anden måde, så siden faktisk loader hurtigere.



Indlæg senest redigeret d. 24.07.2012 13:40 af Bruger #17081
Hej Dan
Lydafspilleren har jeg købt (codecanyon), resten er opensource. Jeg har herefter fået rettet lidt i noget af det, så det passer til mine behov. Noget af css'en har jeg selv lavet, men jeg har ikke så meget forstand på det.

Som du selv siger, er det et stort rod, det er jeg klar over. Planen er at få det ordnet, men først vil jeg gerne have alt til at virke, som det skal. Jeg tror, at hvis man først begynder at slå filer sammen, så bliver det meget sværere at rette fejl. Eller måske finder man fejlene, når man slår filerne sammen(?).

Det virker som om, at du har styr på tingene. Lad os antage at Rasmus får niveau-vælgeren til at virke, som den skal. Hvor meget skal du så have får at rydde op i filerne og table-stylingen?



Hej Dan
Lydafspilleren har jeg købt (codecanyon), resten er opensource. Jeg har herefter fået rettet lidt i noget af det, så det passer til mine behov. Noget af css'en har jeg selv lavet, men jeg har ikke så meget forstand på det.

Som du selv siger, er det et stort rod, det er jeg klar over. Planen er at få det ordnet, men først vil jeg gerne have alt til at virke, som det skal. Jeg tror, at hvis man først begynder at slå filer sammen, så bliver det meget sværere at rette fejl. Eller måske finder man fejlene, når man slår filerne sammen(?).

Det virker som om, at du har styr på tingene. Lad os antage at Rasmus får niveau-vælgeren til at virke, som den skal. Hvor meget skal du så have får at rydde op i filerne og table-stylingen?


Jeg er ret sikker på at niveauvælgeren ikke virker som den skal grundet flere ready og onload events som ligger i flere af scripts'ene og overrider hinanden ved pageload.
Som regel har man 1 onload event i sin hoved javascript-fil, og aldrig onload events i de eksterne scripts.
En oprydning vil helt klart have positiv effekt (:



hvordan ser det kode ud du har købt ved codecanyon, for jeg undre mig lidt over netop de to scripts er pakket ind i hver sin eval()



Ok, det lader til, at der skal ryttes op i koden. Hvad vil det koste?

Lydafspilleren er det eneste jeg har købt fra CodeCanyon. Den bruger nedenstående JavaScripts (og en enkelt flash fil). Der er ikke blevet ændret i de oprindelige filer:

Fold kodeboks ind/udHTML kode 




<< < 123 > >>
t