Alternativa a Google AJAX Libraries API

Postado por: Pedro Rogério em 20 de maio de 2009

O Google que até então parecia um serviço indestrutível não é mais o que parece. Após quedas relatadas no Twitter, o que podemos fazer se dependemos desse serviço? Ainda mais aqueles que dependem da Google AJAX Libraries API para que suas aplicações fucionem.

Recentemente descobri uma alterantiva ao Google AJAX Libraries API, onde caso o serviço esteja off-line, ele utiliza o arquivo JavaScript que está hospedado em seu servidor. Basicamente você teria que criar um arquivo JavaScript e colocá-lo antes do fechamento da tag body:

<script type="text/javascript" src="meu-script-google.js"></script>

O conteúdo desse arquivo deve ser o seguinte:

var sc = document.createElement("script");
sc.type = "text/javascript";
// SRC do Google
sc.src = 'http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js?rand=' + Math.random();
var timer = setTimeout(function(){
   if (typeof jQuery == 'function') return;
        var sc = document.createElement("script");
        sc.type = "text/javascript";
        // SRC local
        sc.src = 'http://www.pinceladasdaweb.com.br/blog/js/jquery-1.3.2.min.js';
        document.getElementsByTagName("head")[0].appendChild(sc);
   // Tempo em milisegundos antes de carregar o arquivo local.
}, 200);

sc.onload = sc.onreadystatechange =  function(e){
    clearTimeout(timer);
}
document.getElementsByTagName("head")[0].appendChild(sc);

É uma ótima alternativa, pois caso o serviço fique indisponível, é carregado um JavaScript alternativo.

Posts Relacionados

Confira também outros artigos interessantes postados aqui no blog.

Sobre Pedro Rogério

Pedro Rogério é desenvolvedor web por paixão, não saberia fazer melhor outra coisa. Além de escrever para o Pinceladas da Web também escreve para o CSS no Lanche, blog voltado ao desenvolvimento front-end.

3 Responses to “Alternativa a Google AJAX Libraries API”

  1. Parece bacana.
    Este script funciona 100% mesmo?
    Pois me parece que 200 milisegundos nem sempre será suficiente pra baixar o js do site do google.

    oque vcs acham?

  2. Muito bom.

    Cara, só tira a endentação depois do “if” que está no timer. Do jeito que está, dá a entender que o conteúdo que vem depois faz parte do “if”.

    Desculpa pela chatisse, mas acho que ajuda a entender =)

    @alexsandro Acho que é por isso que recomendam colocar o script antes de fechar a tag body. Se o script do google estiver no head, já foi carregado antes deste script ser executado pela primeira vez. Neste caso, talvez checar a cada 200 milissegundos seja desnecessário.

Leave a Reply