Supportnet Computer
Planet of Tech

Supportnet / Forum / Webseiten/HTML

Download per Javascript starten





Frage

Hallo Wie kann ich per javascript einen Download (also im Prinzip einen Link auf eine Datei) starten? Sinn der sache soll sein, das das Downloadfenster nur dann angezeigt wird, wenn ein bestimmtes Ereignis stattfindet. Das Ereignis ist im Javascript schon definiert, ich brauche nur noch eine JS-Funktion, die dann eben aufgerufen wird damit das Downloadfenster erscheint.. Hoffe das reicht für den anfang als info.

Antwort 1 von rfb

location.href="virus.exe"
sollte einen entsprechenden Download starten.

Antwort 2 von _mpact

leider nich:


function download()
{
	location.href="test.jpg";
}


oder muss da nochwas drumrum?

Antwort 3 von ClemBra

Wenn jetzt das Bild angezeigt wird, statt einen Download anzubieten, dann ist das Normal und liegt an der Endung. Ändern kann man das nur in den Browsereinstellungen oder mit einer serverbasierten Sprache, z.B. PHP im Header des Downloads selber.
Wenn nichts passiert:
function download()
{
    alert("Gleich wirst du gelinkt");
    window.location.href="test.jpg";
}

Wenn die Box nicht erscheint ist ein fehler im übrigen Code.

Antwort 4 von _mpact

hi
also ich hab das genau so ausprobiert wied da steht. Es passiert nichts. Ich glaube nicht dases am restlichen Code liegt, denn ursprünglich wollte ich anstatt dem Download erst ein Popup öfnnen was auch sehr gut funktioniert hat. rfb hat mir dabei "ein wenig" geholfen und einen alternativen Code zu meinem geschrieben, der ebenfalls einwandfrei funktionierte, nur das mit dem Download klappt nicht:

Mein Code:


function checkMail()
{
	var theMail=document.mailForm.email.value;
	if(theMail=="")
	{
	check=1;
	alert("Bitte Mailadresse angeben! " +check);
	}
	var suche=theMail.search(/@test1.com/);
	var search=theMail.search(/@test2.com/);
	
	if(suche!= -1 || search!= -1)
	{
	check=3;
	download();	
	}
	else
	{
	if(theMail!="")
		{
		check=2;
		alert("ungültige Mailadresse " +check);
		}
	}
}

Der Code von rfb:


Der Code von rfb:

function testMail(mail)
{
if (mail=="") return "Bitte Mailadresse angeben! ";
if ((mail.indexOf("@test2.com") <0) && (mail.indexOf("@test2.com")<0))
return "ungültige Mailadresse";
return "OK";
}

function checkMail()
{
var status= testMail(document.mailForm.email.value);
if (status!="OK") alert(status);
else
{
download();
}
}


Wie gesagt: In beiden Code-Beispielen wurde zuvor anstatt der Funktion download() eine funktion popup() ausgeführt, was einwandfrei funktioniert hat.
Der Sinn dieser Funktionen ist, das sie den in einem eingabefeld eingegebenen wert auf einen enthaltenen string durchsuchen. Wenn er erhalten ist sollte der download staren.

Antwort 5 von _mpact

aso: vergessen:

Wenn ich die Page im IE6 teste, dann funktioniert das alles so, wie es sein soll, nur wenn eine 'gültige' eingabe erfolgt dann erscheint links unten in der ecke des browsers "Error on Page"

Antwort 6 von _mpact

ok... hat sich erledigt, funktioniert jetzt einwandfrei... Hab noch n kleinen Fehler entdeckt. Danke

Antwort 7 von rfb

vielelicht solltest du hier wirklich mal den vollständigen code posten oder die Seite verlinken, denn irgendwo steckt da ein dicker fehler, und so kommen wir einfach nicht weiter.

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: