Het had ons zo mooi geleken, om voor de browsers die het ondersteunden op lokaal gegenereerde links een download='filename.srt' attribuut te plakken, zodat er toch nog een download-box naar voren kwam bij het aanklikken. Dit werkt echter in de meeste gevallen niet wanneer het links naar externe bronnen betreffen.

Als eerste zouden we hebben gecontroleerd welke browsers het HTML5 attribuut "download" ondersteunden (zie w3c specificaties), met de volgende code:

var a = document.createElement('a');
if (typeof a.download != "undefined") {
var html5DownloadSupport = true;
} else {
var html5DownloadSupport = false;
}

Dit werkt fantastisch om te detecteren of een browser het HTML5 attribuut "download" ondersteunt.

Echter... er zitten nogal wat restricties aan het juist functioneren van het attribuut. Zo wordt de zelfgekozen naam genegeerd wanneer de server zelf de naam heeft gespecificeerd in de header, en dit is bij de ontertitelingsbestanden van de NPO altijd zo. Die vlieger gaat dus niet op.
Ook moet er voor cross-origin requests altijd de content-disposition: attachment header gezet zijn aan de kant van de server, en kunnen de user-agents tot slot niet overweg met alle mimetypes. M4V bestanden zouden daar dus buiten kunnen vallen.

Jammer. :/