#navi(blog)

へぇボタンふたたび・・・

さて、もう気づいている方も多いと思うが、へぇボタンを性懲りもなくまた付けてみた。今回は、JavaScriptで生成している。pukiwiki.orgでは、名前が一律PukiWikiになってしまうという理由もあるが、何もphpでやらせる必要性もないし、基本的に全部のページで表示させるようなものなので、JavaScriptでこのボタンを生成すればいいなと思った。

で考えたJavaScriptがこれ。
#code(javascript)
function vote_he(url,author,title){

var str = ("( ・∀・)つ〃∩ ヘェーヘェーヘェー"); str += ( '<a href="http://vote.chbox.com/he.jsp?' + 'enc=4&amp;' + 'id=' + title + '&amp;' + 'by=' + author + '&amp;' + 'gr=Wiki&amp;' + 'url=' + url + '" ' + 'onclick="window.open(this.href);return false;">' + '<img src="' + ImagePath + 'he.gif" width="24" height="18" alt="へぇ~" title="へぇ~" /></a>' ); document.write('<div id="vote_he" style="text-align:center">' + str + '</div>');

}
}}
で、スキン側では
#code(php)
?php if (arg_check('read') && exist_plugin_convert('menu')) { ?>
?php echo hr?>!Votehe>scripttype="text/javascript">votehe("<?phpechohr ?> !-- * Vote he *--> script type="text/javascript">vote_he("<?php echo _LINK['reload']; ?>","","");
!-- End he -->
?php } ?>
}}
と入れた。元々定義されている関数を呼び出しているだけなので、たいした負荷にはならないだろう。これで、リロード先のURLがちゃんねるBOXに渡されるアドレスになり、日本語URLの文字化けも解消されるハズ。早速テストしてみたが・・・。
050708_01.png
○|‾|_

日本語が含まれるアドレスでは、相変わらず文字化け。もちろんアドレスも無効なものとなってしまう。したらばでは、一時期勝手にURLの文字までエンコードしてしまうところがあったが、これと同じような現象がちゃぶろで起きているらしい。EUCでやる場合は何ともなかったが、去年の10月試行したUTF-8化によってどうしようもなくなっている。

そうなると、解決策は一つしかない。リンク用に別のアドレスを用意することである。考えられる方法は、やっぱりTrackBackのコードで使われているハッシュだ。これで、http://設置URL/?cmd=jump&hush=E89197E4BD9CE6A8A9E8A1A8E8A898みたいな感じのURLを送り来るときはそのアドレスからジャンプさせればいいわけだ。 external_link