Hospedar JavaScript no Blogger / Blogspot

Melhor que isso, só a hospedagem no 7 estrelas Burj Al Arab...
OBS: Se você está procurando hospedagem grátis para arquivos externos, dê uma olhada neste post: Armazene, Sincronize e Compartilhe na Faixa
Uma problema antigo que atormenta alguns usuários avançados do Blogspot é quanto a hospedagem externa de arquivos JavaScript. Como o Blogger não disponibiliza um abrigo para estes arquivos, muita gente acaba recorrendo a serviços gratuitos de terceiros para hospedar externamente estes códigos.

Mas a hospedagem externa de arquivos JavaScript pode gerar alguns problemas para os usuários do Blogger. Caso o serviço onde seu arquivo JavaScript está hospedado apresentar alguma instabilidade, isto com certeza comprometerá o desempenho do seu site.

Além disso, estes serviços externos podem ser descontinuados, como aconteceu com o Google Pages, ou sofrer alterações no seu funcionamento que acarretem perdas de funcionalidades e exijam revisões de código, como está acontecendo agora com SkyDrive.

Mas eu não me incomodo mais com isso, pois encontrei uma forma de "hospedar" estes arquivos no próprio Blogspot. Não, o Blogger (ainda) não lançou um recurso de hospedagem de arquivos JavaScript exclusivo para beta testers, é POG compulsivo mesmo!

Incluindo JavaScript diretamente no código do template do Blogger / Blogspot:

Vamos tomar como exemplo um tutorial compulsivo que hospede arquivos JavaScript externamente e adaptá-lo para incluir este código diretamente no HTML do template. Podemos pegar o Menu em Abas, como exemplo.

Em determinado ponto no tutorial, pede-se que seja hospedado externamente este arquivo JavaScript e que seja incluí-da a linha de código a seguir antes da tag </HEAD> no HTML do template:

<script src='http://URL_DO_ARQUIVO/tabber.js' type='text/javascript'/>
O que precisamos fazer é copiar todo conteúdo do arquivo JavaScript e incluí-lo diretamente no código HTML do template. Para isso vamos utilizar delimitadores específicos no início e no final do código, que fazem com que o Blogger permita que o template seja salvo com o JavaScript embutido.

Depois de incluir os delimitadores e remover os comentários do autor (mantendo sua licença de uso) obtemos um extenso código JavaScript que pode ser incluído no mesmo local onde incluímos a URL apontando para o arquivo externo. Ou seja, antes da tag </HEAD> no HTML do template:
<script type='text/javascript'>
  //<![CDATA[

/*==================================================
  $Id: tabber.js,v 1.9 2006/04/27 20:51:51 pat Exp $
  tabber.js by Patrick Fitzgerald pat@barelyfitz.com

  Documentation can be found at the following URL:
  http://www.barelyfitz.com/projects/tabber/

  License (http://www.opensource.org/licenses/mit-license.php)
  Copyright (c) 2006 Patrick Fitzgerald

  Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

  The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

  ==================================================*/

function tabberObj(argsObj)
{
  var arg;
  this.div = null;
  this.classMain = "tabber";
  this.classMainLive = "tabberlive";
  this.classTab = "tabbertab";
  this.classTabDefault = "tabbertabdefault";
  this.classNav = "tabbernav";
  this.classTabHide = "tabbertabhide";
  this.classNavActive = "tabberactive";
  this.titleElements = ['h2','h3','h4','h5','h6'];
  this.titleElementsStripHTML = true;
  this.removeTitle = true;
  this.addLinkId = false;
  this.linkIdFormat = '<tabberid>nav<tabnumberone>';
  for (arg in argsObj) { this[arg] = argsObj[arg]; }
  this.REclassMain = new RegExp('\\b' + this.classMain + '\\b', 'gi');
  this.REclassMainLive = new RegExp('\\b' + this.classMainLive + '\\b', 'gi');
  this.REclassTab = new RegExp('\\b' + this.classTab + '\\b', 'gi');
  this.REclassTabDefault = new RegExp('\\b' + this.classTabDefault + '\\b', 'gi');
  this.REclassTabHide = new RegExp('\\b' + this.classTabHide + '\\b', 'gi');
  this.tabs = new Array();
  if (this.div) {
    this.init(this.div);
    this.div = null;
  }
}
tabberObj.prototype.init = function(e)
{
  var
  childNodes,
  i, i2,
  t,
  defaultTab=0,
  DOM_ul,
  DOM_li,
  DOM_a,
  aId,
  headingElement;
   if (!document.getElementsByTagName) { return false; }
  if (e.id) {
    this.id = e.id;
  }
   this.tabs.length = 0;
   childNodes = e.childNodes;
  for(i=0; i < childNodes.length; i++) {
      if(childNodes[i].className &&
      childNodes[i].className.match(this.REclassTab)) { 
      t = new Object();
      t.div = childNodes[i];
      this.tabs[this.tabs.length] = t;
      if (childNodes[i].className.match(this.REclassTabDefault)) {
    defaultTab = this.tabs.length-1;
      }
    }
  }
  DOM_ul = document.createElement("ul");
  DOM_ul.className = this.classNav; 
  for (i=0; i < this.tabs.length; i++) {
    t = this.tabs[i];
    t.headingText = t.div.title;
    if (this.removeTitle) { t.div.title = ''; }
    if (!t.headingText) {
      for (i2=0; i2<this.titleElements.length; i2++) {
    headingElement = t.div.getElementsByTagName(this.titleElements[i2])[0];
    if (headingElement) {
      t.headingText = headingElement.innerHTML;
      if (this.titleElementsStripHTML) {
        t.headingText.replace(/<br>/gi," ");
        t.headingText = t.headingText.replace(/<[^>]+>/g,"");
      }
      break;
    }
      }
    }

    if (!t.headingText) {
      t.headingText = i + 1;
    }
    DOM_li = document.createElement("li");
    t.li = DOM_li;
    DOM_a = document.createElement("a");
    DOM_a.appendChild(document.createTextNode(t.headingText));
    DOM_a.href = "javascript:void(null);";
    DOM_a.title = t.headingText;
    DOM_a.onclick = this.navClick;
    DOM_a.tabber = this;
    DOM_a.tabberIndex = i;
    if (this.addLinkId && this.linkIdFormat) {
      aId = this.linkIdFormat;
      aId = aId.replace(/<tabberid>/gi, this.id);
      aId = aId.replace(/<tabnumberzero>/gi, i);
      aId = aId.replace(/<tabnumberone>/gi, i+1);
      aId = aId.replace(/<tabtitle>/gi, t.headingText.replace(/[^a-zA-Z0-9\-]/gi, ''));
      DOM_a.id = aId;
    }
    DOM_li.appendChild(DOM_a);
    DOM_ul.appendChild(DOM_li);
  }
  e.insertBefore(DOM_ul, e.firstChild);
  e.className = e.className.replace(this.REclassMain, this.classMainLive);
  this.tabShow(defaultTab);
  if (typeof this.onLoad == 'function') {
    this.onLoad({tabber:this});
  }
  return this;
};
tabberObj.prototype.navClick = function(event)
{
  var
  rVal,
  a,
  self,
  tabberIndex,
  onClickArgs;
  a = this;
  if (!a.tabber) { return false; }
  self = a.tabber;
  tabberIndex = a.tabberIndex;
  a.blur();
  if (typeof self.onClick == 'function') {
    onClickArgs = {'tabber':self, 'index':tabberIndex, 'event':event};
    if (!event) { onClickArgs.event = window.event; }
    rVal = self.onClick(onClickArgs);
    if (rVal === false) { return false; }
  }
  self.tabShow(tabberIndex);
  return false;
};
tabberObj.prototype.tabHideAll = function()
{
  var i;
  for (i = 0; i < this.tabs.length; i++) {
    this.tabHide(i);
  }
};
tabberObj.prototype.tabHide = function(tabberIndex)
{
  var div;
  if (!this.tabs[tabberIndex]) { return false; }
  div = this.tabs[tabberIndex].div;
  if (!div.className.match(this.REclassTabHide)) {
    div.className += ' ' + this.classTabHide;
  }
  this.navClearActive(tabberIndex);
  return this;
};
tabberObj.prototype.tabShow = function(tabberIndex)
{
  var div;
  if (!this.tabs[tabberIndex]) { return false; }
  this.tabHideAll();
  div = this.tabs[tabberIndex].div;
  div.className = div.className.replace(this.REclassTabHide, '');
  this.navSetActive(tabberIndex);
  if (typeof this.onTabDisplay == 'function') {
    this.onTabDisplay({'tabber':this, 'index':tabberIndex});
  }
  return this;
};
tabberObj.prototype.navSetActive = function(tabberIndex)
{
  this.tabs[tabberIndex].li.className = this.classNavActive;
  return this;
};
tabberObj.prototype.navClearActive = function(tabberIndex)
{
  this.tabs[tabberIndex].li.className = '';
  return this;
};
function tabberAutomatic(tabberArgs)
{
  var
    tempObj,
    divs,
    i;
  if (!tabberArgs) { tabberArgs = {}; }
  tempObj = new tabberObj(tabberArgs);
  divs = document.getElementsByTagName("div");
  for (i=0; i < divs.length; i++) {
    if (divs[i].className &&
    divs[i].className.match(tempObj.REclassMain)) {  
      tabberArgs.div = divs[i];
      divs[i].tabber = new tabberObj(tabberArgs);
    }
  } 
  return this;
}
function tabberAutomaticOnLoad(tabberArgs)
{
  var oldOnLoad;
  if (!tabberArgs) { tabberArgs = {}; }
  oldOnLoad = window.onload;
  if (typeof window.onload != 'function') {
    window.onload = function() {
      tabberAutomatic(tabberArgs);
    };
  } else {
    window.onload = function() {
      oldOnLoad();
      tabberAutomatic(tabberArgs);
    };
  }
}

if (typeof tabberOptions == 'undefined') {
    tabberAutomaticOnLoad();
} else {
  if (!tabberOptions['manualStartup']) {
    tabberAutomaticOnLoad(tabberOptions);
  }
}

  //]]>
</script>
Observe que as linhas destacadas em vermelho acima, correspondem aos delimitadores utilizados para permitir que o template seja salvo sem erros após a inclusão do código JavaScript no Blogger.

Outro exemplo onde podemos observar o código JavaScript embutido no HTML do template do Blogspot é no tutorial compulsivo: Artigos relacionados no Blogger.

OBS: Há quem diga que hospedar os arquivos JavaScript desta forma, possa fazer com que o carregamento da página torne-se lento, pois o tamanho do código do template tende a aumentar consideravelmente. Mas, a experiência me mostrou que diversas conexões externas durante o carregamento da página podem ser ainda piores.

Comentários

  1. POG é ótimo. Programador é isso, é achar o problema, estudá-lo e resolvê-lo. Independente de como seja essa resolução :o)

    Abs,
    @monthiel

    ResponderExcluir
  2. E hospedar no http://code.google.com/hosting/ não rola?

    ResponderExcluir
  3. É Compulsivo como você disse no Dicas Blogger:

    "Estou preparando um tutorial que vai resolver este problema, na maioria dos casos, de uma vez por todas..."

    Pronto, resolvido...rs

    ResponderExcluir
  4. Ei Compulsivo,
    Tudo bem com você?
    Posso dar uma sugestão? Já estou falando... Rsss...
    Para o Java do menu em abas existe a opção minimized neste link: tabber-minimized.js que a pessoa pode também copiar e colar no template do blogger, porém ocupando menos espaço.
    Outra coisa: Existe também um site onde minimiza os códigos java assim como aquele do CSS o link é este aqui: JS Minifier
    Grande abraço para você e tenha um ótimo fim de semana.

    ResponderExcluir
  5. Grande @Áurea, assim o post fica menor ;-)

    []'s
    Compulsivo

    ResponderExcluir
  6. caramba eu sou medium! eu sonhei que algum blog famoso ia descobrir um jeito de inserir java internamente, ai foi e

    BANN!

    deu compulsivo xD.
    Vo testa aqui com o MiniPosts do estilo revista, ta muito pesadão sabe . .

    ResponderExcluir
  7. Compulsivo ainda acho que as outras formas de Hospedagens são melhores...

    Ficaria bem bacana ser o blogger hospeda-se pra gente ;-)

    ResponderExcluir
  8. Bela dica Compulsivo, eu prefiro ainda hospedar externamente, eu uso o Google Pages, que infelizmente não aceite novos membros (Ui!), pôs migrado para o Google site. como meu template não é uma arvore de natal, fica de bom tamanho

    Falando nisso tem blogs que enchem de Imagens coloca milhões de banner de parceiros e depois querem que o servidor faça milagre.

    Até!

    ResponderExcluir
  9. Eu já vinha utilizando esse método em meu blog, é uma solução simples e efetiva. Mas ainda estou no aguardo do Gdrive! :o)

    ResponderExcluir
  10. Por via das duvidas eu hospedo meus scripts em um host pago. Bom... ate hoje nao tive problemas e nem notei demora pra carregar!!

    Vlw

    ResponderExcluir
  11. Ai Compulsivo,tem esta forma também de hospedagem externa gratuita de JavaScript que ta no blog Blogger's Phera Com o Javascrip Host, o site e meio estranho mais funciona ate agora.Uso os scripts hospedado nele la no Zoona do Celular.

    Vlwwww

    ResponderExcluir
  12. Primeiro eu quria dar parabens a esse blog, é muito legal, e segundo, eu tenho um blog que tem o domínio .com, mas uso o blogger nele, e queria adicionar um ícone diferente desse B padrão, quem pode me ajudar?

    Agradeço desde já

    ResponderExcluir
  13. Compulsivo falou que ia resolver e já veio a solução! Vou já testar ...
    Obrigado e continue com seus POG´s pois eles são realmente úteis. rs
    Detalhe, não sei se vai permanecer mas parece que houve algum problema com o serviço iconlet e afetou alguns templates (não sei se vc tbm usa icones deste site) mas ai já é mais facil, da pra hospedar no blogger sem POG´s. :)
    Abraços
    Stallone For Ever!

    ResponderExcluir
  14. já está!! menu em abas hospedado no blogspot :)

    mas, o código assim fica muito grande, não será prejudicial para a rapidez do blog?

    abraço

    ResponderExcluir
  15. Caaaara! Não boto fé que você resolveu isso!
    Que mão na roda hein?

    POG?? Nada! adaptação!

    ehHEhehhe ;)

    Grande abraço

    ResponderExcluir
  16. Nossa gostei bastante desse blog!
    ele tem informaçõess muito uteis.
    sabe gostei tanto que toh adicionando seu banner lá no meu blog, se puder da uma passadinha lá, valeu!

    ResponderExcluir
  17. boa, primeiro vou fazer um teste em um blog.

    ResponderExcluir
  18. Eu hospedei meus arquivos JavaScript no Geocities e observei que o carregamento fica mais rápido do que o Javascript Host.

    abraços

    ResponderExcluir
  19. Cool blog. Vim cá via Dicas Blogger. Ganhou um leitor, pois aqui há muito o que ler e aprender. Parabéns pelo trabalho brilhante.

    ResponderExcluir
  20. Muito bom esse tutorial compulsivo, valeu

    ResponderExcluir
  21. Na minha opinião esse é o melhor meio de hospedagem de scripts para serem usados no Blogger. Quanto ao Sky Drive, eu já havia previsto acontecimentos semelhantes alguns meses atrás apenas pela simples razão de ser algo de domínio da Microsoft. Durante o reveillon de 2008, o Sky Drive permaneceu fora do ar por quase 24 horas, eu quase tive uma parada cardíaca quando vi minha página toda branca parecendo um fantasma. Eu estava usando o Sky Drive por puro comodismo, já sabendo dos riscos que estava correndo ao usar algo da Microsoft.

    Mas depois disso, ficou claro que da Microsoft apenas o teclado e o mouse.

    ^.^

    ResponderExcluir
  22. Este comentário foi removido pelo autor.

    ResponderExcluir
  23. O Javascrip Host deu problemas,muito lentooo

    ResponderExcluir
  24. Olá, parabéns pelo Blog! Mas tenho uma dúvida

    to seguindo um tutorial, acho que não tá funcionando pq preciso por um "?load=effects,builder" logo depois do final do endereço do javascript, e como estou imbutindo o java no blogger não aparece o endereço (óbvio, pq não hospedei), como ponho esse "?load=effects,builder" no java embutido?

    Obrigado!

    ResponderExcluir
  25. Opa, belo tutorial. Só tem um problema. E para exibir o script?? Quando hospedo uso < script src=, dessa maneira aí uso o que??? Valeu e parabéns pelo blog, com certeza o melhor sobre o assunto =D

    ResponderExcluir
  26. funcionou mesmo, obrigado pela dica!

    ResponderExcluir
  27. Ainda bem, Compulsivo, que deu essa dica justamente com o script do menu em abas. Facilitou bastante o serviço...rs. Abraço e obrigado de novo.

    ResponderExcluir
  28. Essa é uma boa alternativa, mas página fica um pouco pesada e o código grande, o ideal se fosse viável é usar arquivos externos mesmo mas depender de hospedagem gratuita é f*. To pensando seriamente em compra uma hospedagem já me falaram da hospedagem da softhost, alguém conhece ou é cliente lá? Enquanto fico nessa procura já passei uma scripts pro código, mas só os mais simples mesmo. Valeu pela dica!

    ResponderExcluir
  29. eu raramente deixo recados de agradecimento.. mas este me fez ficar muito satisfeito... por isso venho dizer Obrigado parceiro... Realmente fiquei impressionado como um pequeno detalhe como estes delimitadores pôde ter resolvido meu problema tão facilmente... valeu mesmo

    ResponderExcluir
  30. É, fica enorme.. mas só assim o menu em abas funcionou
    Com o skydrive não tá indo

    ResponderExcluir
  31. compulsivo!!
    eu tenho esse em abas no meu blog, esta mais ou menos ótimo!
    o porem é que ele demora pra carregar as estrutura do menu, a pagina carrega por inteira e so sobra esse bendito menu, dai mais uns 2 a 3s ele carrega.

    como posso reso0lver isso?

    ResponderExcluir
  32. Valeu pelo post, me ajudou bastante!

    ResponderExcluir
  33. Oi Compulsivo!
    Desculpe incomodar, mas de repente meu JS parou de funcionar e não sei mais oque fazer. Acho que só a POG compulsiva resolve isso. Uso o template GameZine, no qual fiz uma série de adaptações. Tudo funcionou bem durante quase um ano, então não creio que seja erro em minhas adaptações. Já tentei hospedar em outros lugares e achei que tinha funcionado, mas no dia seguinte o problema retorna.

    Se puder dar uma olhadinha é o sprural.blo.... (não completei pra não parecer propaganda, coisa e tal...)

    Obrigado

    ResponderExcluir
  34. Olá Compulsivo!
    Te enviei um S.O.S através de um comentário anterior (hoje mesmo). Sobre os JS que não funcionavam.
    Volto a escrever antes que publique porque resolvi o problema e não quero que perca seu tempo.
    Agradeço mesmo assim, pois sei que caso não tivesse conseguido sua ajuda chegaria em logo.
    Se tiver interesse em informar seus leitores sobre o problema e solução entre em contato. Será um prazer ajudar assim como seu blog sempre me ajudou.

    Falou!

    ResponderExcluir
  35. Muito obrigado!!! Deu certo!!!
    Abç!

    ResponderExcluir
  36. @Jorge, lamento é complicado mesmo...

    []'s
    Compulsivo

    ResponderExcluir
  37. amigo, estou com um problema bem chato em meu blog: As minhas postagens mais antigas não aparecem no blog, tipo, tem a aba filmes na barra lateral do blog, eu clico nela e só aparecem 4 ou 5 filmes, sendo que eu ja postei 21, e o único jeito de acessar eles é clicando na opção "Mostrando postagens mais recentes com o marcador Filmes. Mostrar postagens mais antigas", e nem sempre o leitor ver isso, e não consigo trocar a mensagem acima entre aspas por uma barra de navegação com paginas numeradas, porisso eu queria sua ajuda. Meu blog: zonadoperigo.blogspot.com
    Sou grato à seu blog pois com ele eu resolvi várias coisas.
    Se puder responder pelo MSN eu ficaria eternamente grato: cs_nfsc@hotmail.com

    Obrigado

    ResponderExcluir
  38. Este tutorial foi de grande ajuda pra mim. Fui ver quanto tempo meu blog demorava pra carregar no Pingdom Tools e percebi que algumas linhas de javascript é que faziam demorar o carregamento. Depois de seguir a dica fiquei impressionado com a melhora!

    Ouvi muito dizer que javascript hospedado em outro site faz carregar mais rápido. Agora tenho lá minhas dúvidas.

    Marco Damaceno

    ResponderExcluir
  39. @Marco, confie na sua experiência, não no que você ouviu dizer...

    []'s
    Compulsivo

    ResponderExcluir
  40. Oi! Parabéns pelo seu trabalho.
    Eu sou leiga em JavaScript, mas personalizo alguns layouts para Blogger gratuitamente e disponibilizo com uma pequena propaganda (banner) de uma franquia online de cosméticos no rodapé. Eu queria muito saber adicionar um banner no rodapé desses layouts, com um código em que o banner pudesse ser alterado por mim quando preciso. Sei que isso é possível, mas não encontro ninguém ensinando. Você poderia me ajudar?
    Abraço!

    ResponderExcluir
  41. PNJ Sharptech offers the best Custom Website designing services in India along with digital marketing services at affordable prices. We expect to think again about your character with the target that you increase extreme mileage from the online commercial center. Lead your Business Forward with our Web design Services. For More Query Contact Us +918527749441.

    ResponderExcluir

  42. Modular Kitchen Brands in India is the new trend setter thus, select from the list given here give your kitchen a sophisticated look.

    ResponderExcluir

  43. Panache Haute Couture, a leading Indian Designer House for Indian Dresses. You can Buy Designer indian wedding dresses lehenga dresses, anarkali suits, indo western bridal gowns,
    lehenga choli online, Designer Sarees Online at Online.

    ResponderExcluir
  44. Este comentário foi removido pelo autor.

    ResponderExcluir
  45. Roman Daniels Corporate is one of Australias favourite providers of corporate wear and we are looking forward to doing the same great job in New Zealand.

    ResponderExcluir
  46. Sabyasachi - Buy Sabyasachi lehenga, sabyasachi lehenga , Sharara Set more online at panache haute couture. Shop from the latest Sabyasachi collection online now and give a dreamy start to your second inning of life. You will receive on-time delivery at your doorstep.Sabyasachi Mukherjee is an Indian fashion designer from Kolkata.

    ResponderExcluir
  47. F95zone is well recognized, but many of us are of incredible interest. The theme is extended fundamentally, especially from the very start of the F95Zone website, and therefore the issue remains mainstream unintended long ago the inspiration.

    ResponderExcluir
  48. AAO Full Form - Assistant Audit officer is an entry-level position and one of the most popular positions among SSC CGL applicants. Another reason to consider an AAO profile is to offer the highest base salary of all other positions. It takes mere dedication and determination to perform AAO's duties and enjoy the benefits of the sole public office.

    ResponderExcluir
  49. The required level of training for the Loco Pilot Job, you must meet certain criteria to become a train driver or locomotive pilot. When a train travels the distance between two points, the locomotive has two conductors who carry the train to its destination. Since Indian Railways is the world's largest network under a single governing body, it is made up of more than 100,000 mechanics / navigators / trainers forming a major industrial group responsible for the railway business.

    ResponderExcluir
  50. Financeatyourtip is a financial blog website where you can read the latest news and updates related to finance. Get to know more about cryptocurrency, stocks, shares, share market, traders, loans, etc.

    ResponderExcluir
  51. Veganism is a lifestyle that leads it to a culinary adventure while maintaining your health and environment. The conscious act of stopping the use of animals, Protein High Vegan Foods, dairy products, meat and poultry in the diet is becoming more interest over time due to a rapid movement to healthy life!

    ResponderExcluir
  52. The State Bank of India (SBI) has posted the SBI Clerk Mains 2019 Result Temporary Delay Summary on its website for non-compliance and resignation. Each person who appeared in SBI Secretary's Network Results 2019 can download a temporary summary from the SBI Government website

    ResponderExcluir
  53. K9 Security Ltd. offers various professional services and solutions tailored to your different needs and requirements. We take pride in having SIA-certified guards in our workforce, to ensure the best level of security for our clients.

    ResponderExcluir
  54. This site is known as a walk-by way of for the entire data you wished about this and didn’t know who to ask. Glimpse right here, and you’ll positively discover it.야동

    ResponderExcluir
  55. I’d have to talk to you here. Which isn’t something Which I do! I love to reading a post that should get people to think. Also, thank you for allowing me to comment!대딸방

    ResponderExcluir
  56. After study a number of the web sites for your site now, i really such as your strategy for blogging. I bookmarked it to my bookmark website list and will be checking back soon.

    스포츠토토

    ResponderExcluir
  57. Excellent post! Your post is very useful and I felt quite interesting reading it. Expecting more post like this. Thanks for posting such a good post. 룰렛

    ResponderExcluir
  58. I have seen good contents.
    The content on your site is great. I am impressed. 토토

    ResponderExcluir
  59. Thank you for posting such a great article! It contains wonderful and helpful posts. Keep up the good work
    토토

    ResponderExcluir
  60. The production across all industries have been limited due to the pandemic, the shortage of raw material, decline in exports and the disruptions in the supply chain are the major factors contributing to the decline in the production as well as the decline in the functional safety market globally.

    Also read: acetic anhydride market | Tobacco Market | Takeitcool

    ResponderExcluir
  61. This is very interesting, You’re an excessively skilled bloggerI have joined your rss feed and sit up for in quest of extra of your wonderful post. 온라인카지노

    ResponderExcluir
  62. We are Delhi based SMO Company, We offer SEO Company In Rohini, Delhi at reasonable price.
    Emotions Interior Designer is the most interior designers in Gorakhpur, India. their company provide a unique and creative approach to their customers.
    Buy Aloe Vera Indoor Plant Online In India at best prices only at Birthright, India's leading online shop for agriculture supplies and garden tools.
    Financeatyourtip, provide updates about the best demat account for traders all over world. Its brokerage fee is extremely feasible and this assists traders and investors
    F95zone Latest Games & Updates. A visual overview of the latest new games and updates.Buy Indoor Plant Online in India at best prices only at Birthright, India's leading online shop.

    ResponderExcluir
  63. Here are some links to web pages that we link to simply because we feel they’re really worth visiting. 토토사이트

    ResponderExcluir
  64. Great content material and great layout. Your website deserves all of the positive feedback it’s been getting.
    슬롯머신

    ResponderExcluir
  65. 토토365프로
    스포츠토토

    I love seeing blog that understand the value of providing a quality..

    ResponderExcluir
  66. The Hande construction is one of the leading companies in the Ratnagiri district. It is classified as a non-governmental and registered company during the registration of companies, Ratnagiri, in the contract with their accommodation in real estate activities. (Buy this class, including sales, sales, sales, rental maintenance and self-production or rented, such as 1 BHK, 2 BHK, 1 RK apartment complex, non-residential building, development and real estate subdivision, Etc. Hande construction is a leading manufacturer if you are on the construction of residential and commercial buildings, weight bridges, roads, etc.

    ResponderExcluir
  67. Thanks for taking the time to discuss this, I feel strongly about it and love learning more on this topic. If possible, as you gain expertise, would you mind updating your blog with extra information? It is extremely helpful for me..Gives you the best website address I know there alone you'll find how easy it is 먹튀검증커뮤니티

    ResponderExcluir
  68. Very likely I’m going to bookmark your blog . You absolutely have wonderful stories. Cheers for sharing with us your blog..Thank you for such a great article..Wow, excellent post. I'd like to draft like this too - taking time and real hard work to make a great article. This post has encouraged me to write some posts that I am going to write soon 가입머니

    ResponderExcluir
  69. Great Article. I personally like this post. interesting article. thank you for sharing.,hi was just seeing if you minded a comment. i like your website and the thme you picked is super. I will be back..Nice Post. Thank You For Sharing Valuable Information. 먹튀검증

    ResponderExcluir
  70. Thank you for the auspicious writeup. It in fact was a amusement account it...Look advanced to far added agreeable from you! .This is very interesting, You’re a very skilled blogger.Watching a good girls guide to kinky sex…honestly horrendously made show. 메이저놀이터

    ResponderExcluir
  71. Hello to every one, the contents existing at this site are actually remarkable for people knowledge,Pretty! This has been a really wonderful article...Thank you for providing this information.Hello.This article was extremely motivating, particularly because I waas looking for thoughts onn his subjectt lat Sunday. 토블리

    ResponderExcluir
  72. Thank you a bunch for sharing this with all of us you actually realize what you are talking about! Bookmarked..Great webpage brother I am gona inform this to all my friends and contact..Wonderful illustrated information. I thank you about that. No doubt it will be very useful for my future projects. Would like to see some other posts on the same subject 토팡

    ResponderExcluir
  73. Terrific article! That is the kind of information that are meant to be..shared across the internet. Disgrace on the search engines.together with everyone’s favorite activity, sex.Two foot fetish guys, one of which wanted me to smear peanut butter on my feet. 먹튀검증사이트

    ResponderExcluir
  74. I just found this blog and have high hopes for it to continue. Keep up the great work, its hard to find good ones. I have added to my favorites. Thank You. I would like to say that this blog really convinced me to do it! Thanks, very good post . What a really awesome post this is. Truly, one of the best posts I've ever witnessed to see in my whole life. Wow, just keep it up. 해외안전놀이터

    ResponderExcluir
  75. I really appreciate this post. I’ve been looking everywhere for this! Thank goodness I found it on Bing. You have made my day! Thanks again! Wonderful post! This post has uncovered hidden treasures on blog commenting. This is a really good post. Must admit that you are amongst the best bloggers I have read. Thanks for posting this informative article.Great internet site! It looks really good! Sustain the excellent work. 안전토토사이트

    ResponderExcluir
  76. Fantastic blog! Do you have any tips and hints for aspiring writers? I’m planning to start my own website soon but I’m a little lost on everything. Would you propose starting with a free platform like WordPress or go for a paid option? There are so many options out there that I’m completely overwhelmed .. Any suggestions? Many thanks! 바둑이게임

    ResponderExcluir
  77. "Your Site is very nice, and it's very helping us this post is unique and interesting, thank you for sharing this awesome information. and visit our blog site also. Great article! This is the type of information that are meant to
    be shared across the internet. Thank you for sharing such a useful post. Very Interesting Post! I regularly follow this kind of Blog" 먹튀검증

    ResponderExcluir
  78. Really wonderful blog completely enjoyed reading and learning to gain the vast knowledge. Eventually, this blog helps in developing certain skills which in turn helpful in implementing those skills. Thanking the blogger for delivering such a beautiful content and keep posting the contents in upcoming days. I find it very interesting and very well thought out and put together. I look forward to reading your work in the future 메이저사이트

    ResponderExcluir
  79. Excellent site you've got here.. It's hard to find high-quality writing like yours nowadays. I seriously appreciate individuals like you! 룰렛

    ResponderExcluir

  80. Very Informative and creative contents. This concept is a good way to enhance the knowledge. thanks for sharing.
    Continue to share your knowledge through articles like these, and keep posting more blogs.
    And more Information JavaScript Development Services

    ResponderExcluir
  81. the slot game is a gambling game that is the tip of the horse. No one expected to have the ability to pump สล็อต

    ResponderExcluir
  82. Including the fact that most of the players are unemployed, making them have to earn more from playing. Therefore, playing online slots games It is another source of making money. สมัครสมาชิกสล็อต pg

    ResponderExcluir
  83. which can withdraw up to 300,000 baht super slot promotions for all customers welcome pgslot เว็บตรง

    ResponderExcluir
  84. Great value Playing online slots today has only advantages. The first thing is that there is no need to travel to play gambling games as far as the casino. save money, save time pgslot เว็บตรง

    ResponderExcluir
  85. You won't find disappointment. We give away many layers of big luck every day, spin slots, fill the fun with unlimited new games, heavy slots web 2022, must be PG168 only. jili slot

    ResponderExcluir
  86. therefore use this strategy In order to attract customers to come and try to play, try to experience our website. ambslot

    ResponderExcluir
  87. Makes playing slots 10 times more fun. There is a good service. There is a team to give advice on slot games that are easy to break. pgslot

    ResponderExcluir
  88. take place in the classroom alone, your phone is like your mobile classroom, tap into its wealth of English learning resources. When you hear a word or jili

    ResponderExcluir
  89. You can fully use it with your favorite slot games, such as Roma slots from famous camps. pgslot เว็บตรง

    ResponderExcluir
  90. Quality slot game website 2022 is a website that allows you to choose the easiest game to play in the world. pgslot

    ResponderExcluir
  91. or can play profitably as an additional income Easy to play and get money faster than other websites. pgslot

    ResponderExcluir
  92. Online slots are a type of gambling game. with a pattern to play Online slots are a type of gambling game. with a pattern to play pgslot เว็บตรง

    ResponderExcluir
  93. Betting even if the payoff is small But if the bet wins often It can allow players to earn profits. from playing ดูบอลออนไลน์

    ResponderExcluir
  94. how to play slots It's the most popular question. at the new gambler I have been asked a lot in particular. pgslot เว็บตรง

    ResponderExcluir
  95. There is a link to play the game in Joker123. For anyone who is a big fan of our website. pgslot

    ResponderExcluir
  96. Including more than 30 camps, slots promotions, free credits, present, can be used to play and have fun in every game. We include games to make a lot of money on the web, slots, direct websites. pgslot

    ResponderExcluir
  97. Nowadays, we can dare to say that Online gambling in this era is considered normal. People turned their attention to earning money in times of economic downturn. It is therefore not surprising that pgslot

    ResponderExcluir
  98. We are ready to serve every You are the best. Number 1 pg slot in Thailand.welcome ดูบอลสด

    ResponderExcluir
  99. The way I play AMBBET slots, the source of pg slots pro Including all pro slots choose by yourself pgslot

    ResponderExcluir
  100. Considered to be the main one in which we have to think about And plan before choosing a gambling website to come in and play because if we know the limit slotxo

    ResponderExcluir
  101. Lucky135 only, available at any time through convenient contact channels. Join the thrill and excitement every second. as if actually sitting in that place dooballsod

    ResponderExcluir
  102. PGSLOT make easy money in this online form. Entertain yourself with big rewards and bonuses." AMBKING

    ResponderExcluir
  103. Guaranteed that everyone will like it. And playing the game is definitely fun.

    AMBBET TEAM AMBKING

    ResponderExcluir
  104. Support all devices Access via mobile, both iOS and Android systems installed by the player pgslot เว็บตรง

    ResponderExcluir
  105. PGSLOT ONLINE GAME ON MOBILE All of these are new specialties. of online games in a new way of playing AMBKING

    ResponderExcluir
  106. It became fun, enjoyable, considered another. slots strategy that will help with making real money pgslot

    ResponderExcluir
  107. However, we will come to explain the rough play for everyone to know that There are many ways for you to pgslot

    ResponderExcluir
  108. Did you know that online slot games pgslot At present, we can see that there are many websites ever. สล็อต

    ResponderExcluir
  109. steampunk, has been around for quite some time, sitting in the wings of clothing-dominated ดูบอลสด

    ResponderExcluir
  110. payout of 60. The harp symbol. Has a maximum payout of 30. The vase symbol. It has a pgslot

    ResponderExcluir
  111. Ways, this time it has broken up to 6 digits, withdrawing with a smile with a total of 102014 baht! สล็อต

    ResponderExcluir
  112. Slot Roma, the legendary slot game, has at least 3 sequels, if anyone still doesn't know how it is a slot game. pgslot

    ResponderExcluir
  113. I would really appreciate it if you could go into further detail. Thank you!
    preliminary protective order virginia

    ResponderExcluir
  114. Who is the King of DRS? Interesting Fact You Should Know. As cricket is a very famous game worldwide. There are so many matches of different leagues being played in cricket.

    ResponderExcluir
  115. Rza Sister Sophia Net Worth, Age, Siblings, and Family Status. So, keep reading this article to get detailed information about Rza Sister Sophia.

    ResponderExcluir
  116. You can easily host JavaScript on Blogger/Blogspot by using the "HTML/Javascript" gadget. This feature allows you to add custom JavaScript code, such as widgets or plugins, to your blog. It's a convenient way to enhance your blog's functionality and design with external JavaScript resources. va uncontested divorce

    ResponderExcluir
  117. Opt for hosting JavaScript externally rather than on Blogger/Blogspot for enhanced flexibility and control. External hosting provides better customization options, improved performance, and easier integration with third-party tools. Elevate your web development experience by utilizing dedicated hosting services for JavaScript, optimizing your site's functionality. "Your comment is like a burst of confetti, adding joy to our blog. Each word is a brushstroke on the canvas of conversation, creating a vibrant tapestry of ideas. We eagerly await your next insight, as your contributions light up our digital world. Thanks for being our comment superstar!" attorney to contest protective order virginia

    ResponderExcluir
  118. For hosting JavaScript outside of Blogger/Blogspot, consider self-hosting on your web server or using third-party services like GitHub Pages or CDNs such as Google Hosted Libraries. These options offer flexibility and reliability in delivering JavaScript code to your website visitors. Choose the solution that best fits your needs for efficient and seamless integration. This blog is a goldmine of information. Your blog packs a punch in just a few sentences. Your words are like gems. Thank you for sharing this! A quick, delightful read that left me inspired Thanks! "Your comment is like a burst of confetti, adding joy to our blog. Each word is a brushstroke on the canvas of conversation, creating a vibrant tapestry of ideas. We eagerly await your next insight, as your contributions light up our digital world. Thanks for being our comment superstar!" Elf Bar Vapes

    ResponderExcluir

Postar um comentário

Postagens mais visitadas deste blog

O que significa DVDRip, DVDScr, R5, etc?

Nomes de todas as igrejas do Brasil