18. januar 2000 - 17:37Der er
9 kommentarer og 1 løsning
Kontrol af "Overførsel afbrudt ! " eller kun delvis javascript loaded
Min side indeholder en del javascript, der er nødvendig for at siden kan fungere. (bla. synkronisering af flere forms og deres hiddenfields)
Indimellem får brugerne beskeden "Overførsel afbrudt!" og så mangler der lidt HTML på siden og JavaScript fra <SCRIPT language="javascript" src="bla bla">.
Når brugerne kilkker på et link der skal åbne et pop-op vindue vha. javascript får de en javascript fejl.
Kan man undgå "Overførsel afbrudt!", eller kan man lave en work-around ala. refresh ? (kun af javascriptet ?)
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
Jeg faldt lige over dit interessante spørgsmål, som jeg ikke ved, om du har fundet en løsning på i mellemtiden. Kan du ikke i 'bunden' af hver js-fil skrive 'check = "1";' (de skal selvfølgelig hedde noget forskelligt check1="1", check2="1" osv)? I toppen af det doku, der skal bruge dem skriver du: var check1 = ""; check2 = ""; osv Så kunne du spørge i 'bunden' af det doku, hvor de skal bruges: <script> if (check1 != "1") { document.write('sovsen til din js-fil nummer 1'); } if (check2 != "1") { document.write('sovsen til din js-fil nummer 2'); } </script>
Du skal bare nok huske at escape (\) foran 'script' og 'javascript' inde i din document.write. Det er sgu da en meget sexy work-around...ikk'? /VH Ole Clausen
Jeg har arbejdet lidt med onAbort, men den virker tilsyneladende kun på selve HTML siden.
Jeg tror kun dit script kan bruges til at advare brugeren om fejlen. Hvis jeg får brugeren til at lave en reload af siden opstår fejlen ofte igen. suk :-(
Nej, så har du vist ikke forstået mig ;-) Jeg har ikke lige tid nu - er lige stået op...det jeg skrev imorges, skrev jeg i går...eller hvad det nu hedder (loooong night...Hehe). Det smarte er, at hvis ikke js-filerne blev læst ind i toppen, bliver de læst ind i bunden af siden. Der bliver deklareret en variabel i toppen af din side. Den bliver sat til en værdi i slutningen af din js-fil. Hvis den ikke er sat til den rigtige værdi, når browseren når til bunden af din side - så er js-filen ikke blevet læst ind, og document.write sørger så for at læse den ind i bunden af siden, i stedet. Det SKAL virke...og det gør det garanteret! Jeg kommer tilbage senere med et eksempel til dig ;-)
Hi igen, gert. Du behøver selvfølgelig ikke vente med at reloade din js-fil til bunden af din side...glem det, og læs her i stedet.
Du laver en js-fil med alle dine funktioner. På nederste linie i dette dokument skriver du:
check = "1";
Denne fil kalder du 'gerts.js'.
===============================
Så skriver du således på den side, der skal bruge denne js-fil:
<head>
// ************** Her deklarerer du din 'check-variabel' <script language="JavaScript"><!-- var check = "0"; // --> </script>
// ************** Her prøver du at loade din js-sovs <script language="JavaScript" src="gerts.js"></script>
// ************** Hvis din 'check-variabel' ikke er blevet sat lig 1, // ************** lykkedes det ikke - og 'vi' loader igen! <script language="JavaScript"><!-- if (check != "1") { document.write("<\script language='JavaScript' src='gerts.js'></\script>"); } // --> </script>
</head>
===============================
Hvis det er en meget lang js-fil - du ikke vil besvære brugeren med at skulle downe to gange - kan du midt i filen sætte check=1 og i bunden check=2. Så kan du - hvis check<1 - loade gerts.js igen. Hvis derimod 0<check<2, så kan du loade gerts2.js - som så er en fil med de funktioner, der kom efter den linie i gerts.js, hvor du satte check=1. Altså skal brugeren kun vente på, at den halvdel, der ikke loadede i første omgang, bliver loaded.
Det KAN selvfølgelig også glippe anden gang, man prøver at loade filen. Seler og livrems modellen kunne måske være at spørge i et 'while' loop - efter devicen 'Skriv det på tavlen, til du har forstået det, knægt!'
HVIS nu at det bliver noget ged med en halvt downed js-sovs efterfulgt af en komplet js-sovs (hvis altså browseren bliver 'forvirret'), kunne du overveje at reloade siden der, hvor du ellers skriver 'document.write'. Da det er så tidligt i download forløbet, vil det nok ikke genere brugeren. Hvis du endda lod det ske i en skjult frame, kan det ske mange gange, uden det generer.
Tak for dit svar, jeg har i første omgang lagt <SCRIPT language="javascript" src="bla bla"> ind i HTML-siden før siden hvor den skal bruges, det får åbenbart browseren til at læse den rigtigt ind anden gang (underligt), hvis det ikke virker vil jeg bruge dit udemærkede forslag med reload, dog kombineret med en alert til brugeren.
I flg. webloggen sker der en "parsing error", jeg ved dog ikke hvad det betyder (endnu).
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.