FAQ |
Kalender |
![]() |
#11 | ||
|
|||
Nykomling
|
Hej, skönt att allt löste sig.
Några saker jag tänkte på bara som inte helt kommit fram i kommentarerna (det mesta vet du säkert redan) Själv använder jag web developer toolbar i FireFox för att debugga min JavaScript. Rekommenderar den skarpt. En sak du bör ha som vana när du skriver JavaScript, precis som all annan kod, för att undvika krockar etc (som du trodde var det ursprungliga felet) är att använda dig av namespaces/classer och object. En tredje sak jag tänkte på och här får någon annan gärna bekräfta eller dementera mina uppgifter då jag absolut inte alls är säker. Det är att det finns vissa risker med att använda window.onload Det är visserligen en lösning som jag gillar med den även kan lägga init-triggern i de externa JavaScript filerna. Men om jag nu minns rätt (och här får någon annan som sagt gärna också säga sitt) så väntar wondow.onload med att triggas tills allt på sidan har laddats in, alltså även bilder etc. Det betyder att har du en tung bild som ska laddas eller om användaren sitter på en seg uppkoppling kan det ta flera sekunder innan din init funktion kör igång. Oftast räcker det med att dom:en har laddat för att dina javascript ska fungera. Då kan du med fördel starta din init funktion i slutet av html-koden. Vet att alla där ute inte håller med mig om att detta är den ultimata lösningen. Det är i alla fall så jag oftast brukar göra. |
||
![]() |
![]() |
![]() |
#12 | |||
|
||||
Mycket flitig postare
|
Citat:
|
|||
![]() |
![]() |
![]() |
#13 | ||
|
|||
Nykomling
|
Citat:
Men det är möjligt att det kan uppstå problem i något scenario där js-filerna inte hunnit laddas in eller. Jag har dock aldrig stött på detta problem och det är enkelt avhjälpt med en try/catch samt en onload backup trigger (om problemet skulle uppstå). Däremot har jag stött på problem med att onload tagit för lång tid på sig att triggas, exempelvis om en bild laddas från en extern sida som inte längre finns och användaren klickar på en knapp som ska trigga något JavaScript. |
||
![]() |
![]() |
![]() |
#14 | |||
|
||||
Mycket flitig postare
|
Citat:
|
|||
![]() |
![]() |
![]() |
#15 | |||
|
||||
Mycket flitig postare
|
Citat:
|
|||
![]() |
![]() |
![]() |
#16 | |||
|
||||
Mycket flitig postare
|
Citat:
|
|||
![]() |
![]() |
![]() |
#17 | |||
|
||||
Mycket flitig postare
|
||||
![]() |
![]() |
![]() |
#18 | |||
|
||||
Mycket flitig postare
|
||||
![]() |
![]() |
![]() |
#19 | |||
|
||||
Mycket flitig postare
|
||||
![]() |
![]() |
![]() |
#20 | ||
|
|||
Administratör
|
Citat:
Men om man gärna vill återuppfinna hjulet med detta, liksom mycket annat, och göra det manuellt får man: För IE lägga en conditional statement som kör document.write av en script-tagg, och sen kolla readystate på scriptet. För Safari lägga en timer som kollar document.readyState
__________________
eldefors.com - Personlig (teknik)-blogg |
||
![]() |
![]() |
Svara |
|
|