[Javascript] Direkter Download

quicksilver

Lt. Junior Grade
Registriert
Jan. 2004
Beiträge
363
Ich habe ein kleines Schönes script mit dem ich per klick und übergabe eine id in einem neuen Fenster den download starte. Nun würde ich aber lieber das der download direkt aufgerufen wird .. also nur vom script der link zusammengesetzt wird und dann gestartet. Ich bräuchte also irgendwie das window.open ersetzen oder ? Aber ich weiss leider nicht mit was :(

Code:
.
..
<script language="Javascript">
function dl(id) {
var url = "dl.php?action=det&id="
url += id
        window.open(url, "dl", "toolbar=no,scrollbars=auto,resizable=yes,width=400,height=300");
}
</script>
</head>
<body>

<a href="Javascript:dl(151)">Download Starten</a>
..
..
 
self.location.href="deine url";

Sollte aber eine Datei sein, die nicht im Browser angezeigt wird sondern runtergeladen.
Ansonsten hast die Downloadseite weg.

Wenns bisher im kleinen Fenster funktioniert hat mit diesem Link, sollte das so funktionieren.

HTH,Erazor
 
Moin,
keine Ahnung wo für du ein Script brauchst, wenn du ohnehin den Download direkt aufrufen willst, aber wenn dann sähe das so aus:

PHP:
..
<script language="Javascript">
	function dl(id) {
		window.location.href = "dl.php?action=det&id=" + id;
}
</script>
</head>
<body>

<a href="javascript:dl(151)">Download Starten</a>
..

//edit: sehe grad ich war mal wieder zu langsam
 
Zuletzt bearbeitet:
Ok Super :) Danke euch. Nun habe ich aber leider noch ein problem. Ich leite dann weiter auf die dl Datei.. Das ist eine Php Datei in der der Refer abgefragt wird.. und wie es scheint wird bei dem js der refer nicht "übertragen" oder so da sagt er immer der refer ist Falsch :( . Weiss da jemand Rat ?
 
Auf den Referrer kannst du dich eh nicht verlassen, da dieser von Proxys, etc. geändert werden kann, bzw. von manchen Browsern gar nicht erst mitgesendet wird.
 
Möglich wäre z.B. die IP zu speichern und dann beim eigentlichen Download zu prüfen, ob von dieser IP in den letzten x Minuten die DL-Seite abgerufen wurde, o.ä.
 
Zurück
Oben