2016-12-22 4 views
-1

kombiniert Ich bin mit dem folgenden Code-Download von MP3-Datei zu zwingenHTML5 Download mit Javascript onlick

<a id="download" href="http://locationtomp3file.mp3" download>Start Download</a> 

Above Code funktioniert das reibungslos herunterladen. Ich möchte jedoch die Anzahl der Downloads verfolgen und die Datenbankzeile für dieses Lied aktualisieren. Das Hinzufügen von onclick funktioniert nur, wenn mein Attribut href = "#" hat. Irgendwelche Arbeiten oder Vorschläge?

+0

Ich vergesse zu erwähnen, dass diese Version meiner Website nur für alle Android-Nutzer ist. Von vielen Methoden, um eine Datei herunterzuladen, fand ich, dass dies die einzige perfekt funktionierende Methode ist, die den Download auf allen Android-Browsern erzwingt. Ich habe 1 andere Methode, um mit Javascript herunterzuladen und Blob Link zu erstellen, aber das Problem ist, dass die Datei Downloads im Hintergrund erscheinen dann einmal abgeschlossen. Dies wird Zeit für große Dateien benötigen und wird die Benutzer verwirren, dass der Download-Button nicht funktioniert. –

+1

Sie brauchen Ajax dafür, wenn Sie JS verwenden möchten. Ihre Frage ist kurz auf Code/Detail. Wenn Sie nachverfolgen möchten, müssen Sie als Beispiel die Tabelle SET col_x = col_x +1 WHERE col_y =? Eine Force-Download-Methode mit einer Kopfzeile muss ebenfalls verwendet werden. –

Antwort

0

Es scheint, dass Sie die Kontrolle über das Back-End haben. Ich würde nur die GET-Einträge Ihres http-Servers für diese bestimmte Datei zählen. Ich denke, es ist besser, weil es asynchron ist, und verhindert genaue Zählung (wenn Sie Ajax verwenden, und die Ajax-Anfrage fehlschlägt, werden Sie eine Zählung vermissen)

Es ist so einfach wie grep "locationtomp3file.mp3" /var/log/http/access_log | wc -l in redhat/apache2 Umgebung. Führen Sie das immer wieder auf Ihrem Server aus und aktualisieren Sie Ihre Datenbank mit dem Ergebnis, so würde ich es machen. Sie sind sich dessen vielleicht nicht bewusst, aber es ist tatsächlich sehr gut und sehr gesund, dass eine Reihe von Aufgaben als Stapel im Hintergrund ausgeführt werden, im "Offline" -Modus. Sie können sie so oft wie alle 5 Minuten ausführen, wenn Sie möchten - solange sie nicht ressourcenintensiv sind.

0
<a id="download" href="#" download>Start Download</a> 

<!-- With Jquery --> 
<script> 
$("#download").click(function() { 
    window.location = 'http://locationtomp3file.mp3'; 
}); 
</script>