web-dev-qa-db-pt.com

Aproveite o cache do navegador para JS de terceiros

Eu configurei Expiry no meu httpd.conf

ExpiresActive On
ExpiresDefault "access plus 1 month"
ExpiresByType image/gif "access plus 1 month"
ExpiresByType image/jpeg "access plus 1 month"
ExpiresByType image/png "access plus 1 month"
ExpiresByType text/css "access plus 1 month"
ExpiresByType text/javascript "access plus 1 month"
ExpiresByType application/x-javascript "access plus 1 month"

Isso ajuda com o cache do navegador para imagens, arquivos de fontes, próprios arquivos css e js do site. Mas também tenho o JS externo incluído no meu site:

http://connect.facebook.net/en_US/sdk.js (20 minutes)
http://apis.google.com/js/client.js (30 minutes)
https://apis.google.com/js/rpc:shindig_random.js?onload=init (30 minutes)
https://platform.Twitter.com/widgets.js (30 minutes)
https://www.google-analytics.com/analytics.js (2 hours)

O Google Pagespeed Insights diz para os arquivos superiores: Definir uma data de expiração ou uma idade máxima nos cabeçalhos HTTP para recursos estáticos instrui o navegador a carregar recursos transferidos anteriormente do disco local em vez de pela rede.

Como aproveitar o cache do navegador esses arquivos JS externos? Qualquer ajuda ?

27
Vivek Tankaria

Não tenho certeza se esse snippet de código ajudará alguém, mas, de qualquer forma, é assim que faço cache de um arquivo js externo. 

<script>
 $.ajax({
 type: "GET",
 url: "https://www.google-analytics.com/analytics.js",
 success: function(){},
 dataType: "script",
 cache: true
 });
</script>
3
Nuno Sarmento

Se você está no WordPress, você pode usar o plugin "Cache External Scripts" para isso. Com o mínimo de ajustes de código de plug-in, você pode adicionar suporte para os outros arquivos javascript de terceiros, além dos do Google

0
Ron Warshawsky