はてなブックマークボタンのJavaScriptがdocument.write使っていてXHTMLで不具合があったのが直った(または9月1日からオプトアウト版はてなブックマークボタンが出ていた件)
スポンサードリンク
ウェブサイトを、厳格にXHTML化したときに(MIMEタイプをapplication/xhtml+xmlとかにしたとき)、document.writeが使えなくなるという問題があるのですが、最近はやりのソーシャルボタンにも、document.writeやそれに類する仕組みを使っていて、動かなくなることがありました。
というわけで、はてなブックマークボタンも、document.writeを使っていて、コンソールにエラーが出る(動くことは動く)ソーシャルボタンの一つだったのですが、今日見たら直っていた、というお話。
はてなブックマークボタンについては、はてなブックマークボタンの作成・設置について [b.hatena.ne.jp] を参照。
昨日くらいまで:http://b.st-hatena.com/js/bookmark_button.js(734行から~)
(function () {
var domains = 'www.toyokeizai.net member.toyokeizai.net excite.co.jp exblog.jp mainichi.jp jp.msn.com *.jp.msn.com itmedia.co.jp bizmakoto.jp atmarkit.co.jp eetimes.jp ednjapan.cancom-j.com ednjapan.com barks.jp www.asahi.com *.asahi.com jp.techcrunch.com japanese.engadget.com jp.autoblog.com celebrity.aol.jp www.nikkei.com *.nikkeibp.co.jp japan.cnet.com japan.zdnet.com builder.japan.zdnet.com japan.gamespot.com www.re-source.jp www.yomiuri.co.jp groupon.jp';
var pattern = '^(?:' + domains.replace(/\./g, '\\.').replace(/\*\\\./g, '(?:[^.]+\\.)+').replace(/\s+/g, '|') + ')$';
if (isLocal || new RegExp(pattern).test(location.hostname)) return;
if (Math.random() >= 1 / 3) return;
window.mad_partner_id = '6';
document.write('<script src="//send.microad.jp/js/conv0000.js"></script>');
})();
今朝9時ぐらい:http://b.st-hatena.com/js/bookmark_button.js(734行から~)
(function () {
var domains = 'www.toyokeizai.net member.toyokeizai.net excite.co.jp exblog.jp mainichi.jp jp.msn.com *.jp.msn.com itmedia.co.jp bizmakoto.jp atmarkit.co.jp eetimes.jp ednjapan.cancom-j.com ednjapan.com barks.jp www.asahi.com *.asahi.com jp.techcrunch.com japanese.engadget.com jp.autoblog.com celebrity.aol.jp www.nikkei.com *.nikkeibp.co.jp japan.cnet.com japan.zdnet.com builder.japan.zdnet.com japan.gamespot.com www.re-source.jp www.yomiuri.co.jp groupon.jp';
var pattern = '^(?:' + domains.replace(/\./g, '\\.').replace(/\*\\\./g, '(?:[^.]+\\.)+').replace(/\s+/g, '|') + ')$';
if (isLocal || !/^https?:$/.test(location.protocol) || new RegExp(pattern).test(location.hostname)) return;
if (Math.random() >= 1 / 3) return;
window.mad_partner_id = '6';
var script = E('script', { type: 'text/javascript', src: '//send.microad.jp/js/conv0000.js' });
var anchor = document.getElementsByTagName('script')[0] || document.getElementsByTagName('head')[0].firstChild;
anchor.parentNode.insertBefore(script, anchor);
})();
これで、はてなブックマークボタンはXHTML(MIMEタイプ:application/xhtml+xml)でも動くようになりました!
ていうか、今まで数回に1回エラーが出ていたんですけれどもね(if (Math.random() >= 1 / 3) return; ていうところから、33%の確率でコンバージョン測定用タグが挿入されて、XHTMLではエラーになっていた)。
こんなことなら、9月1日以降からの、オプトアウト版はてなブックマークボタンをもうちょっとアピールしてくれればよかったのに……
次回は、XHTMLでは動かないTwitterのツイートボタンを直してみることをやってみたいと思います。また直っていたりして……
投稿 大野 義貴 [XHTML/XHTML5] | 固定リンク |
スポンサードリンク
トラックバック(0)
トラックバックURL: http://blog.dtpwiki.jp/MTOS/mt-tb.cgi/3701





![: Amazon.co.jp: プラスティック・メモリーズ 1【完全生産限定版】(イベントチケット優先販売申込券付) [Blu-ray]](/lists/_9/B00VWX66E8.jpg)
![: Amazon.co.jp: プラスティック・メモリーズ 2【完全生産限定版】[Blu-ray]](/lists/_9/B00VWX66K2.jpg)
![: Amazon.co.jp: プラスティック・メモリーズ 3【完全生産限定版】[Blu-ray]](/lists/_9/B00VWX6MV0.jpg)
![: Amazon.co.jp: プラスティック・メモリーズ 4【完全生産限定版】[Blu-ray]](/lists/_9/B00VWX66IO.jpg)
![: Amazon.co.jp: プラスティック・メモリーズ 5【完全生産限定版】[Blu-ray]](/lists/_9/B00VWX6Y0E.jpg)
![: Amazon.co.jp: プラスティック・メモリーズ 6【完全生産限定版】[Blu-ray]](/lists/_9/B00VWX69D6.jpg)


コメントする