人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

Firefox で「右ダブルクリック」を「リンクを新しいタブで開く」に関連付ける方法を教えてください。

●質問者: sample2
●カテゴリ:コンピュータ インターネット
✍キーワード:firefox ダブルクリック リンク
○ 状態 :終了
└ 回答数 : 4/4件

▽最新の回答へ

1 ● tully
●30ポイント

えのかた Firefoxで右ダブルクリック

userChrome.jsという拡張機能をインストール後、上記サイトで公開されている6行のスクリプトを書いてあげると実現できるそうです。

◎質問者からの返答

マウスの中ボタンが壊れてしまったので、以前、中ボタンのないマウスを使っていた頃の Sleipnir のカスタマイズ設定を久々に使っています。消すこともないだろうと思って残していたのですね。Sleipnir はそれでいいのですが、Firefox で困ってしまったわけです。

ぽすれんにはトリプルコースというのがありますが、私はトリプル×2にしたかった。アカウントを2つ作ればいいだけなのですが、ログイン・ログアウトを繰り返すのが面倒くさい。それで Sleipnir と Firefox を使っています。Opera を久しぶりに使ってみようかな。

その他、iza とはてなと Gmail と他にもいろいろなサービスでふたつのアカウントを持っていて、ブラウザで分けているのです。右ダブルクリックでリンクを新タブで開く操作が片方でできて、他方でできないのは、予想以上にストレスになりますね。


2 ● tully
●50ポイント

ああ、あまりにも不親切だったのでもう一度回答します。

手順は以下の通りです。ちょっとだけ長いです。




1.拡張機能userChrome.jsをインストールする

ここで落とせます。http://www.haslo.ch/zeniko/software/userchrome.js.xpi


2.userChrome.jsを書き換えます

拡張機能インストール後、プロファイルフォルダのchromeフォルダに0バイトのuserChrome.jsがあるはずなので探し出してください。(XPならば、DocumentAndSettings→ユーザ名→ApplicatinData→Mozilla→Firefox→Profiles→chromeです。)

このファイルに、以下のリンク先のコードをそのままコピーします

data:text/javascript,%2F*%20%3A%3A%3A%3A%3A%3A%3A%3A%20Sub-Script%2FXUL%20Loader%20%3A%3A%3A%3A%3A%3A%3A%3A%3A%3A%3A%3A%3A%3A%3A%20*%2F%0A%0A%2F%2F%20automatically%20includes%20all%20files%20ending%20in%20.uc.js%20and%20.uc.xul%20from%20the%20profile's%20chrome%20folder%0A%0A(function()%20%7B%0A%09var%20getURLSpecFromFile%20%3D%20Components.classes%5B%22%40mozilla.org%2Fnetwork%2Fio-service%3B1%22%5D.getService(Components.interfaces.nsIIOService).getProtocolHandler(%22file%22).QueryInterface(Components.interfaces.nsIFileProtocolHandler).getURLSpecFromFile%3B%0A%09var%20chromeDir%20%3D%20Components.classes%5B%22%40mozilla.org%2Ffile%2Fdirectory_service%3B1%22%5D.getService(Components.interfaces.nsIProperties).get(%22UChrm%22%2C%20Components.interfaces.nsILocalFile)%3B%0A%09var%20files%20%3D%20chromeDir.directoryEntries.QueryInterface(Components.interfaces.nsISimpleEnumerator)%3B%0A%09var%20xul_files%20%3D%20%5B%5D%3B%0A%09%0A%09while%20(files.hasMoreElements())%0A%09%7B%0A%09%09var%20file%20%3D%20files.getNext().QueryInterface(Components.interfaces.nsIFile)%3B%0A%09%09if%20(%2F%5C.uc%5C.js%24%2Fi.test(file.leafName))%0A%09%09%7B%0A%09%09%09setTimeout(function(aFile)%20%7B%0A%09%09%09%09Components.classes%5B%22%40mozilla.org%2Fmoz%2Fjssubscript-loader%3B1%22%5D.getService(Components.interfaces.mozIJSSubScriptLoader).loadSubScript(getURLSpecFromFile(aFile))%3B%0A%09%09%09%7D%2C%200%2C%20file)%3B%0A%09%09%7D%0A%09%09else%20if%20(%2F(%5EuserChrome%7C%5C.uc)%5C.xul%24%2Fi.test(file.leafName))%0A%09%09%7B%0A%09%09%09xul_files.push(file)%3B%0A%09%09%7D%0A%09%7D%0A%09%0A%09setTimeout(function()%20%7B%0A%09%09if%20(xul_files.length%20%3E%200)%0A%09%09%7B%0A%09%09%09document.loadOverlay(getURLSpecFromFile(xul_files.shift())%2C%20null)%3B%0A%09%09%09setTimeout(arguments.callee%2C%200)%3B%0A%09%09%7D%0A%09%7D%2C%200)%3B%0A%7D)()%3B%0A%0A


3.6行のスクリプトをuserChrome.jsと同じフォルダにコピーする

ファイル名は指定の通りdoubleClick1.2.uc.jsで。


4.スクリプトを書き換える

4行目の「document.getElementById("cmd_close").doCommand();」を「tab.close()」に書き換えます。


5.Firefoxwo再起動してみてください。



きっと期待する結果になると思います。

◎質問者からの返答

やってみたけど、変化がないので、ミスがないか確認します。

→何がまずいのかよくわからず、引っかかってます。


3 ● tully
●20ポイント

判りづらかったようですね。

たぶん、私の回答を読み返してみて、間違えるだろうなぁと思う部分の補足を・・・・・


2.で書き換える内容ですが、すいません。なんか違うものが張り付いていますね。

http://forums.mozillazine.org/viewtopic.php?t=397735#2169699

このページのCodeSamplesにある「Sub-Script/XUL Loader」のリンク先に書いてあるスクリプトをそのままコピペしてください。

どうでしょうか。

◎質問者からの返答

tab.close() への書き換えをしない場合、右ダブルクリックでタブが閉じました。つまり doubleClick1.2.uc.js 本来の動作には成功しています。とすると、書き換えた部分がおかしいのかな、と思ってます。いかがなものでしょうか。

ところで、マウスカーソルが乗っかっているリンクを新しいタブで開くスクリプトと、ページ内のどこで右ダブルクリックしてもタブが閉じるスクリプトを比較して、前者の方がずっと短くていいというのは、素人には不思議な感じがします。

それに、tab.close() でリンクが新しいタブに開かれる、というのも面白いです。どうして tab.close() なんて勘違いされそうな名前なのでしょうね。タブが閉じてしまいそうではありませんか。

http://pc11.2ch.net/test/read.cgi/software/1168635399/325-327

doubleClick1.2.uc.js を上記リンク先に置き換えたらうまくいきました。本当は新しい「裏の」タブに開いてほしかったことに気付きましたが、条件の後出しなので、以上で満足します。


4 ● tully
●10ポイント

これで最後にします。ホント、すいません。

tab.close()と回答したのは、私が問題を読み違えていたせいです。ダブルクリックでタブを閉じたかったのかと思っていました。開きたかったのですね・・・・(しかも、そもそもtab.closeじゃダメダメっぽいみたいでしたし)

では、改めてダブルクリックで開く方法です。

tab.close()に書き換えるところを、

document.getElementById("cmd_newNavigatorTab").doCommand();

としてもらえればいいはずです。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ