czwartek, 4 sierpnia 2011

Jak działa wczytywanie ustawień w google+1?

Przycisk google +1 pojawił się w sieci już jakiś czas temu. Niedługo po jego premierze miałem okazje umieszczać go na pewnej witrynie. Cały proces jest raczej prosty. Wystarczy przejść na stronę: http://www.google.com/intl/pl/webmasters/+1/button/index.html i wygenerować sobie odpowiedni kod, a następnie wkleić go do HTML na swojej witrynie. Wszystko spoko... ale zaciekawiła mnie jedna kwestia. Wygenerowany przez google kod zawierał między innymi coś takiego:


<script type="text/javascript" src="https://apis.google.com/js/plusone.js">
   {lang: 'pl'}
</script>

I tu pojawiło się moje pytanie. Jak oni to robią, że wczytują ustawienia języka z takiego kodu???
Trochę powalczyłem i ostatecznie udało mi się to zrobić :). Kod jest prosty, więc nie będę go opisywał a jedynie załączę treść plików html i js

test.html:
<html>
   <body>
      <g:plusone>xxx</g:plusone>
      <script type="text/javascript" src="test.js">
         {lang: 'pl'}
      </script>
   </body>
</html>

test.js:
var scripts = document.getElementsByTagName( 'script' );
var thisScriptTag = scripts[ scripts.length - 1 ];
eval( "var config = " + thisScriptTag.innerHTML);
document.getElementsByTagName( 'g:plusone' )[0].outerHTML = "google w jezyku: " + config.lang;

1 komentarz: