Considérez ceci, "bon GIFV": http://i.imgur.com/SQXB06O.gifv
Considérez ceci, “GIFV bad”: http://i.imgur.com/MHfD9WX.gifv
Maintenant, les deux sont des téléchargements récents; 13 et 15 heures respectivement. Cependant on joue en vidéo et on joue en GIF. Vous pouvez le savoir car si vous cliquez avec le bouton droit de la souris GIFV bien , il est indiqué Pause , tandis que si vous faites un clic droit GIFV mauvais , il est indiqué Voir l'image .
Je sais que GIFV bad a une vidéo disponible:
$ wget --spider http://i.imgur.com/MHfD9WX.webm
HTTP request sent, awaiting response... 200 OK
Length: 542519 (530K) [video/webm]
Toutefois, si vous essayez http://i.imgur.com/MHfD9WX.webm , il vous redirige simplement vers le fichier GIFV et lit un fichier GIF.
Qu'est-ce qui cause ce comportement?
nous faisons surface le GIF original s'il est inférieur à 2M
Ce que je souhaite vraiment chez Imgur, c'est que les médias se comportent comme des vidéos YouTube:
J'ai pu accomplir cela. D'abord, j'ai arrêté la boucle GIF dans Firefox comme ceci:
image.animation_mode; once
Puis j'ai créé n bookmarklet pour faire le reste:
addEventListener('timeupdate', function(wh) wh.target.loop = 0, 1);
xr = document.querySelectorAll('img, video');
for (ya of xr) {
zu = ya.style;
zu.boxSizing = 'border-box';
if (ya.play) {
zu.border = 'thick solid Violet';
zu.position = 'relative';
zu.zIndex = 10;
if (ya.duration) zu.display = 'block';
ya.onmouseover = function() this.controls = 1;
ya.onclick = function() {
this.parentNode.replaceChild(this.cloneNode(1), this);
this.src = '';
};
}
else {
ya.onclick = function() this.src = this.src;
zu.border = /gif/.test(ya.src) ? 'thick solid green' : 'thick solid peru';
}
}
Cela arrête les vidéos en boucle et permet de rejouer le contenu multimédia au clic.