A Widget ShareThis permite partilhar via serviços de link, mail ou imprimir para pdf a uma página de um site.
A widget depende do Prototype e da libsapojs.
Para incluir a widget e as bibliotecas devem colocar as seguintes linhas no head do vosso html
<!-- --> <script type="text/javascript" src="https://js.sapo.pt/Prototype/1.8/"></script> <script type="text/javascript" src="https://js.sapo.pt/SAPO/"></script> <script type="text/javascript" src="https://js.sapo.pt/SAPO/Widget/ShareThis/0.1/"></script>
A widget tem 4 modos de funcionamento. Sendo que o modo pré-definido é o modo 3.
Os modos são os seguintes:
Para verem um exemplo dos modos de utilização e decidirem qual se adequa podem ver a sample
A chamada da widget pode ser feita inline ou para incluir num determinado elemento do DOM
* Widget inline
<!-- --> <script type="text/javascript"> new SAPO.Widget.ShareThis(); </script>
* Widget para um elemento do DOM
<!-- --> <script type="text/javascript"> /** * A chamada é feita no dom:loaded do prototype para o elemento já estar disponivel. */ Element.observe(document, 'dom:loaded',function(){ new SAPO.Widget.ShareThis({target: 'id_do_elemento'}); }); </script>
Como podem ver do exemplo da chamada da widget para um elemento DOM a widget recebe um objecto de inicialização para definição de algumas propriedades.
As opções que podem ser passadas à widget são:
<!-- --> <script type="text/javascript"> new SAPO.Widget.ShareThis({clickOutClose: true}); </script>
<!-- --> <script type="text/javascript"> new SAPO.Widget.ShareThis({mode: 0, cssURI: 'https://js.sapo.pt/Assets/Images/ShareThis/style.css'}); </script>
<!-- --> <script type="text/javascript"> new SAPO.Widget.ShareThis({mode: 1, exclude: ['stumbleupon','reddit']}); </script>
<!-- --> <script type="text/javascript"> new SAPO.Widget.ShareThis({mode: 2, pdf: false, email: false}); </script>
<!-- --> <div id="target"></div> <script type="text/javascript"> Element.observe(document, 'dom:loaded',function(){ new SAPO.Widget.ShareThis({mode:3, pageTitle: 'sapo_test_title', clickOutClose: true, target: 'target', language: 'en'}); }); </script>