GIFs animados: Façam parar!

Quando as pessoas postam gifs animados, eles tocam uma e outra e outra e outra e outra vez e…

O Twitter me dá uma maneira de parar a animação. O Slack me permite colapsar a imagem para que eu não a veja mais. Por favor, por favor, Discourse, dê-me algo comparável. :pray:

19 curtidas

Você pode usar o Stylus para alterar o estilo (display: none ou visibility: hidden) de todos os GIFs animados:

div.topic-body div.lightbox-wrapper > a.lightbox > img[src$='.gif']

6 curtidas

Com certeza, concordo plenamente! Os navegadores costumavam oferecer suporte a isso como uma funcionalidade nativa… leia tudo sobre isso aqui:

9 curtidas

Se você estiver usando o Chrome, recomendo esta extensão:

4 curtidas

Apenas uma pequena atualização.

Há tanto SIM neste tópico; na verdade, eu tive exatamente o mesmo sentimento mais cedo hoje quando alguém postou um GIF.

@pmusaraj está trabalhando em um recurso aqui e nos atualizará quando estiver pronto.

12 curtidas

É uma pena que os navegadores tenham retirado o suporte para esc para interromper todas as animações de página em GIFs. As pessoas esquecem… mas isso realmente era uma coisa.

5 curtidas

Ótima sugestão de recurso, @ganncamp, obrigado. Isso já foi feito (commit) e implantado aqui no meta. Clicar na imagem pausará e, em seguida, retomar a animação. Devido às limitações de segurança do navegador, a pausa mostra apenas o primeiro quadro da imagem; não é possível mostrar o quadro no momento em que foi clicado.

Aqui está um GIF obrigatório para testar:

giphy-4

17 curtidas

Está ótimo, tenho algumas pequenas recomendações:

  1. Talvez possamos adicionar uma pequena sobreposição de “pausado”, para que as pessoas saibam o que aconteceu. (um II translúcido no canto inferior direito?)

  2. Acredito (embora não tenha certeza) que isso só funcione depois que o GIF for totalmente carregado. Alguns GIFs animados podem demorar um pouco para carregar. Você poderia testar, talvez, localmente usando limitação de velocidade para verificar se isso pausa mesmo que o GIF não tenha sido totalmente carregado?

7 curtidas

Algum comportamento estranho que notei aqui no Meta.
Postei um gif aqui https://meta.discourse.org/t/badges-and-general-chattiness-of-discourse/187971/19?u=geoff777

Ele não pausava. Tentei em dois navegadores.
Vim a este tópico porque havia lido o outro dia.
Cliquei no GIF STOP IT e ele pausou.
Voltei ao meu post e agora ele pausa.

então …
testando testando testando …

Thats So Raven Hello GIF by Cameo

3 curtidas

Talvez pudéssemos ter uma configuração que aparecesse ao passar o mouse sobre um GIF, junto ao botão “parar GIF atual”:

  • autoplay de GIFs ligado/desligado (armazenado na sessão)
4 curtidas

Obrigado, Geoff. A razão técnica pela qual o seu upload não funciona é que isso atualmente só funciona para uploads que estão no banco de dados. O seu upload acima é uma URL do Giphy e não possui um registro de upload local. Não podemos estender isso facilmente para imagens animadas de outras URLs porque não temos certeza se um recurso em uma URL específica é uma imagem animada ou uma imagem estática regular.

Podemos fazer uma suposição fundamentada, por exemplo, para URLs do Giphy, mas, a menos que o upload seja local e processado, não saberemos com certeza.

Atualização: ah, e agora o upload do Giphy na sua mensagem acima foi baixado localmente e a pausa funciona.

4 curtidas

O GIF que postei acima não estava pausando no momento.

Depois, houve uma atualização e ele passou a funcionar.

Acho que esse problema de não pausar é apenas para quem postou o GIF e se resolve com uma atualização.

Edição — desculpe, acabei de ler sua mensagem acima, @pmusaraj.

Sim, faz sentido. Ele pausa quando está disponível localmente.
Então, por um curto período, o recurso de pausa não funcionará. Bom saber. Obrigado.

2 curtidas

A ação de pausa funciona, mas o canvas não consegue ler/desenhar o primeiro quadro até que o GIF tenha sido totalmente carregado. Não acho que possamos corrigir isso adequadamente, então adicionei uma cor de fundo sutil ao elemento canvas, que será exibido assim:

Também adicionei ícones de play/pause e algumas outras melhorias.

10 curtidas

Este tópico foi automaticamente fechado após 6 dias. Novas respostas não são mais permitidas.

A lightbox atrapalha, como você pode ver aqui. Compare e contraste o comportamento clicando ou tocando nos GIFs animados abaixo:

ed1bdf66998acb6fa9d93c4d8b318dbb07c15203

igor-bastidas-2

Funciona mais ou menos no segundo, com a ressalva de que a expansão e a contração da lightbox consomem um dos cliques para pausar/despausar.

3 curtidas

Sim, @pmusaraj, vou reabrir isso. Provavelmente precisamos de um tratamento melhor para casos em que um GIF animado é exibido em lightbox, pois atualmente é muito desconfortável.

Não tenho certeza do que é o mais adequado a fazer? Não usar lightbox para GIFs animados? Ter áreas de clique diferentes para “pausar” versus “tamanho completo” nesses casos?

2 curtidas

Talvez isso? Não tenho certeza de que haja algo a ganhar ao exibir GIFs animados em lightbox…

7 curtidas

Acho que, tecnicamente, você poderia ter uma animação gigantesca para mostrar.

Talvez apenas desativemos o lightbox por enquanto e vejamos se alguém reclama? Concordo totalmente que geralmente é uma má ideia e inútil para gifs animados.

6 curtidas

Claro, se desabilitar o lightbox for fácil para GIFs animados, vamos fazer isso. Provavelmente também devemos fazer o backport!

3 curtidas