webForumDet fria alternativet
Logga in / Bli medlem

Download och stängning

JavaScript

8 svar · 303 visningar · startad av Web-Tor

Medlem sedan nov. 200013 890 inlägg
Frågan#1

På en sida så har jag en länk. När man klickar på länken skall det hända två saker:
1. En fil skall laddas ner.
2. Det aktuella fönstret skall stängas.

Hur gör jag detta?

Använder man detta så stängs fönstret direkt utan att man får upp dialogrutan för att ladda ner filen.

<a href="test.fil" onClick="JavaScript:window.close()">

Detta funkar bara i IE:

<a href="test.fil" onBlur="JavaScript:window.close()">
Medlem sedan juni 200032 967 inlägg
#2

Kan du inte använda detta:

<span onclick="location.href='fil.fil'; self.close();">flaa!</span>

Du ska nog inte skriva Javascript: i en javascript eventhandler.

Mvh,

Medlem sedan maj 200010 687 inlägg
#3

Kanske inte den mest ultimata lösningen och jag har inte provat det i Netscape. Men..

function downloadFile() {
	window.open("pbcl965.exe");
	window.close();
}
Medlem sedan nov. 200013 890 inlägg
#4

Du ska nog inte skriva Javascript: i en javascript eventhandler.

Varför? *nyfiken*

Medlem sedan juni 20004 308 inlägg
#5

Alternativ 2;

I <body>-taggen på popup-sidan lägger du till onUnload="window.close();"

Understryker det @nders redan sagt, aldrig "javascript:" i event.

Medlem sedan maj 200010 687 inlägg
#6

Ännu ett förslag.. :)

function downloadFile() {
	location.href = "pbcl965.exe";
	setTimeout("window.close()", 1000);
}
Medlem sedan maj 200010 687 inlägg
#7

Nu måste jag skicka ett mail till Kjell och gnälla lite. Ta en titt i wFs kjellkod:

<a href=""  onClick="javascript:warnDelete(); return false;">

Jag har tidigare varit ganska säker på att man inte ska skriva "javascript:" men har inte fått något stöd..

Medlem sedan juni 20004 308 inlägg
#8

Varför? *nyfiken*

En gång i tiden, innan event var uppfunna använde man protokollet (vilket inte är något protokoll egentligen) för att exekvera javascript-kod från länkar. Eftersom man normalt anger en sida (URL) i ankare (<a> ) var man tvungen att uppfinna ett "fake'at" protokoll "javascript:" för att tala om för webbläsaren att det var just javascript som skulle köras och inte en sida som skulle laddas. I event däremot vet webbläsaren att det är ett script-statement som förväntas.

Medlem sedan nov. 200013 890 inlägg
#9

Jojoxx och @nders ->
Det var faktiskt inte min idé att lägg in "Javascript" där utan det var en kollegas kod. Jag frågade honom varför och han hade inget riktigt svar förutom att "det skall vara så".
Tack vare er så kan jag nu läxa upp honom. §e

Erik ->
Ditt första exempel funka fint. Tack!

"kjellkod" :e

284 ms totalt · 4 externa anrop · v20260731065814-full.14655e19
125 ms — deklarationer (db)
0 ms — hämta statistik (cache)
155 ms — hämta tråd, inlägg och bilagor (db)
121 ms — ändringar (db)