今まで
Google Chrome ではてスタしても、選択範囲の引用ができなかった><
というわけで
ブックマークレット作った。
以下のブックマークレットを実行してから、テキストを選択して、はてスタすると引用できるようになる。
javascript:window._gs = window.getSelection; document.onselectstart = document.ondblclick = function() { window._s = _gs()+'' }; window.getSelection = function() { return window._s || '' }; void(0);
この方法だと、 getSelection を上書きしてるので、グリモン的に自動読み込みでやるのはお勧めしない。
もし、 HatenaStar.js を直すとしたら。 以下、
// ハンドラーを定義 handleSelection: function() { Ten.DOM._selectedText = getSelection()+''; }, getSelectedText: function() { // WebKit 用の判定追加 if (navigator.userAgent.match(/AppleWebKit/)) return (Ten.DOM._selectedText || ''); else if (window.getSelection) return '' + (window.getSelection() || ''); else if (document.getSelection) return document.getSelection(); else if (document.selection) return document.selection.createRange().text; else return ''; }, : : // 以下のようにイベント追加 if (navigator.userAgent.match(/AppleWebKit/)) { new Ten.Observer(document, 'onselectstart', Ten.DOM, 'handleSelection'); new Ten.Observer(document, 'ondblclick', Ten.DOM, 'handleSelection'); }
って感じ。