del.icio.us extension 日本語対応
- 追記。Plugin のバグとして報告しておきました。伝わるかどうか自信ないですが。@ Version 0.5.7
- 注意。URI encoded 後の長さなのか UTF-8 のバイト長なのかいまいちよくわかりません。UTF-8 だと思うけど Javascript で取得する方法がわからなかった。
公式版では extended に記述された文字数がカウントされるようになっているのですが、実際は URI encode 後のバイト長で 255byte の制限がかかります。そのため、日本語を入力したときにも対応できるように encode 後のバイト長をカウントするようにしたパッチを作ってみました。
delicious.jar の contents/add.js のファイルの最後の部分を以下のように変更してください。
><
また、日本語終端処理をするわけではないので 255byte を超えないように入力してください。超えてしまうと、UTF-8 の文字シーケンスの途中で切られたゴミが登録されることがあります。そのゴミを XML パーサが処理しようとするとエラーになることがあるので不幸になります。
ライセンスはもとの extension のものをそのまま継承。
/** * Extended byte count patch * License Version: MPL 1.1/GPL 2.0/LGPL 2.1 */ /** * Update extended field's length info when the field is changed. */ function extendedModified() { length = getEncodedLength(document.getElementById("extended").value); document.getElementById("extended-label").value = length + " / 255"; } /** * Get encoded byte count */ function getEncodedLength(text) { count = 0 for (i=0; i<text.length; i++) { n = encodeURIComponent(text.charAt(i)); if (n.length < 4) count++; else count += n.length / 3; } return count; }