Uzun zamandır bazı yazılarımdaki PAYLAŞ butonuma basınca içinde bulunduğu yazının adresini ve başlığını alamıyordu ve AddThis penceresi açılmıyordu. Bunun nedeni ise başlıklarda tırnak işaretleri kullanmammış. Javascript ve C# bilmeme , kullanmama rağmen başlıklarda kullandığım ' işareti'nin hata yaratabileceği hiç aklıma gelmemişti. İlk önce çalışmayan javascript ile oluşan kodu inceleyelim.

<a onmouseout="addthis_close()" onclick="return addthis_open(this, '', 'http://www.alpcoker.com/post/2008/08/21/Kendi-Photosynth-inizi-Yaratin.aspx', 'Kendi Photosynth 'inizi Yaratın')" href="http://www.addthis.com/bookmark.php " linkindex="106" set="yes">
<img width="103" height="17" border="0" alt="Bu yazıyı diğer sitelerde paylaş" id="ctl00_cphBody_PostList1_be0d29bfa7034ca189e83f38e072daef_Img1" src="themes/Monochrome/images/paylas.gif"/>
</a>



       AddThis bir yazıyı kaydederken sayfanın adresi ve tarayıdaki başlığı alıyor. Üstte tarayıcıdan oluşan sayfada başlığın alındığı parametreye bakarsak   'Kendi Photosynth 'inizi Yaratın'  tırnakların karıştığını görüyorsunuz ve hata buradan oluşuyor.

       Varsayılan AddThis kodu çok kısa olmakla beraber , sadece sayfanın adresini ve tarayıcıdaki başlığı alıyor. Vereceğim örnekte BlogEngine'a göre özelleştirdim ve C# embedded koduyla blogengine objelerini kullandım. Siz başka bir sitede kullanıyorsanız  herhangi bir event'e onclick veya onmouseover ' a örnek olarak şöyle bir kod yazmanız gerekiyor.[URL] ve [TITLE] yerine javascript veya C# ile gerekli şekilde doldurmanız gerekiyor.  onmouseover="return addthis_open(this, '', '[URL]', '[TITLE]')"

<div id="addThis">
            <script type="text/javascript">
            addthis_pub             = 'alpcoker'; 
            addthis_logo            = 'http://www.alpcoker.com/themes/Monochrome/images/alpcokerLogo.gif'; /* logo ekle */
            addthis_logo_background = '000000';
            addthis_logo_color      = '666699';
            addthis_brand           = 'alpcoker.com';
            addthis_offset_left = -55;
            addthis_options         = 'favorites, email, digg, delicious, myspace, facebook, google, live, more';
            </script>
            <a href="http://www.addthis.com/bookmark.php" onclick="return addthis_open(this, '', '<%=Post.AbsoluteLink.ToString()  %>', '<%=Post.Title.ToString().Replace("'","^")  %>')" onmouseout="addthis_close()" >
                <img id="Img1" runat="server" src="~/themes/Monochrome/images/paylas.gif" width="103" height="17" border="0" alt="Bu yazıyı diğer sitelerde paylaş" />
            </a>
            <script type="text/javascript" src="http://s7.addthis.com/js/152/addthis_widget.js"></script>                           
        </div>    

       Önceden olmayan Replace fonksiyonuyla <%=Post.Title.ToString().Replace("'","^")%>  sorununu düzelttim. Tekrar tarayıcıda oluşan koda bakarsak ' yerine ^ işareti geldiğini görebilirsiniz. Herhangi bir ' veya " işareti yerine istediğiniz karakteri veya sadece boşluğu kullanabilirsiniz.

<a onmouseout="addthis_close()" onclick="return addthis_open(this, '', 'http://alpcoker.com/post/2008/08/21/Kendi-Photosynth-inizi-Yaratin.aspx', 'Kendi Photosynth ^inizi Yaratın')" href="http://www.addthis.com/bookmark.php" linkindex="106" set="yes">
<img width="103" height="17" border="0" alt="Bu yazıyı diğer sitelerde paylaş" id="ctl00_cphBody_PostList1_be0d29bfa7034ca189e83f38e072daef_Img1" src="themes/Monochrome/images/paylas.gif"/></a>