はてなブックマークボタンの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
コメントする