Altキー+ドラッグによるアンカーテキストの選択を補助するGreasemonkeyスクリプト
Firefox 13 でAlt+クリックでリンク先のリソースを保存する機能が無効化された。この機能が必要ないのであれば、以下のスクリプトは必要ない。
以前のようにAlt+クリックでリンク先のリソースを保存したい場合はabout:configでbrowser.altClickSaveをtrueにすればよい。その上で以下のスクリプトをインストールすれば、「リンク先のリソースの保存」と「リンクテキストの選択」を両立できる。
Firefoxでは、Altキーを押しながらドラッグすることでアンカー(リンク)文字列を選択することができるものの、そのままだとリンク先のリソースを保存してしまう。
これはちょっとしたテクニックで避けることができる(参考:リンク上にある文字列をドラッグで選択する方法 | Web Scratch)けど、煩わしいので、Altキー+ドラッグでアンカー文字列を選択したときに保存処理を無効にするGreasemonkeyスクリプトを書いた。単純にリンクをAltキー+クリックしたとき(選択文字列がないとき)は、何もしない(保存処理が働く)。
他のスクリプト(リンクを左ボタン長押しによって新規タブに開きたい - rikubaの日記)と競合することがあったので、キャプチャリングフェーズでイベントを捕捉するようにした。// ==UserScript== // @name selectAnchorTextByAltDrag // @namespace http://rikuba.com/ // @include * // ==/UserScript== document.addEventListener('click', { handleEvent: function (e) { if (e.altKey && e.button === 0 && window.getSelection().toString() && this.isAnchor(e.target)) { e.preventDefault(); e.stopPropagation(); } }, isAnchor: function () { var expr = document.createExpression('ancestor-or-self::*[@href]', null); var xr = null; return function (node) { xr = expr.evaluate(node, XPathResult.BOOLEAN_TYPE, xr); return xr.booleanValue; }; }(), }, true);