* 概要 [#l92028b3] Twitter に関する事。未整理。 #contentsx(depth=1:2) * Tweet Button あれこれ [#qec6d45a] ** W3C Markup Validation 対策 [#rbc3d776] *** 現象 [#vd697031] [[Twitter の Documentation:https://dev.twitter.com/docs/tweet-button#ways-to-add-the-tweet-button-to-your-website]] に載っている通りのコードを追加すると、[[Markup Validation:http://validator.w3.org/]] の結果 Invalid と言われてしまう。 <a href="https://twitter.com/share" class="twitter-share-button" data-lang="en">Tweet</a> <script>(省略)</script> *** 対策 [#h3c46374] data- attribute of anchor tag とかいう独自属性なんぞを使わせるな、ということで。 <a href="https://twitter.com/share?lang=en" class="twitter-share-button">Tweet</a> <script type="text/javascript">(省略)</script> *** 参考 URI [#a244e26a] - [[Tweet Button | Twitter Developers:https://dev.twitter.com/docs/tweet-button]] - [[The W3C Markup Validation Service:http://validator.w3.org/]] ** Double encoding 対策 [#u2925645] *** 現象 [#mee04751] このページの URL のように、Percent-encoding された文字を URL に含むページに Tweet Button を設置して、かつ url パラメータの値を指定しない場合、Button をクリックすると Percent-encoding が 2 回実施された URL をツイートすることになってしまう。 期待動作: http://www.colorless-sight.jp/wiki/?Tips%2FTwitter 実際の動作: http://www.colorless-sight.jp/wiki/?Tips%252FTwitter *** 対策 [#l8fd7ec6] url パラメータの値を適切に指定すれば回避できる。 対策 (1): <a href="https://twitter.com/share" class="twitter-share-button" data-url="<?php echo $link['reload'] ?>" data-lang="ja">Tweet</a> 対策 (2): <a href="https://twitter.com/share?url=<?php echo urlencode($link['reload']) ?>&lang=ja" class="twitter-share-button">Tweet</a> *** 参考 URI [#b436df8a] - [[Tweet Button | Twitter Developers:https://dev.twitter.com/docs/tweet-button]] - [[Issue 2005 - twitter-api - Double URL encodes in count button search string - Twitter's API Issue Tracker - Google Project Hosting:http://code.google.com/p/twitter-api/issues/detail?id=2005]] - [[そなーブログ » Blog Archive » Pukiwikiにツイッター公式「ツイートボタン」を設置する:http://sonarsrv.com/blog/web/377.html]]