Avatar billede gertnissen Nybegynder
18. januar 2000 - 17:37 Der 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 ?)
Avatar billede hatecaps Nybegynder
19. januar 2000 - 00:07 #1
har du prøvet at bruge onAbort i body tag'et, der skulle du kunne "reloade" eventuelle scripts
Avatar billede tue Nybegynder
19. januar 2000 - 12:48 #2
Ville problemet være der hvis du lage noget af alt dit javascript i js
filer ved siden at dit htm fil ???
Avatar billede gertnissen Nybegynder
19. januar 2000 - 13:22 #3
Jeg har netop benyttet mig af 'eksterne' js filer via <SCRIPT language="javascript" src="bla bla"> i <HEAD>.
Avatar billede olebole Juniormester
03. februar 2000 - 06:11 #4
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
Avatar billede olebole Juniormester
03. februar 2000 - 06:17 #5
Det forudsætter naturligvis, at dine scripts ikke skal bruges, før siden er loaded. Ellers må du igang med flere work-arounds ;-)
Avatar billede gertnissen Nybegynder
03. februar 2000 - 09:21 #6
godmorgen olebole

Jeg har desværre endnu ikke fundet en løsning.

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 :-(

Jeg vender tilbage....
Avatar billede olebole Juniormester
03. februar 2000 - 13:32 #7
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 ;-)
Avatar billede olebole Juniormester
03. februar 2000 - 17:06 #8
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!'

Det gør garanteret, hvad du søger.

/VH
Ole
Avatar billede olebole Juniormester
03. februar 2000 - 17:21 #9
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.
Avatar billede gertnissen Nybegynder
06. februar 2000 - 14:03 #10
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).
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester