Google Reader 任意の記事をバックグラウンドで新しいタブで開く in Google Chrome
Google Readerで任意の記事をバックグランドで新しいタブで開く以下のuserscripts使ってたんだが、Google Chromeだと使えない・・・
http://userscripts.org/scripts/show/2197
いろいろ調べて結果できたのでブログに上げる。
結論
以下にあげる
http://userscripts.org/scripts/show/152138
ショートカットキーは「y」です。
修正に至るまで
GM_openInTabってのが使えなくなっているっぽい。
GM ver 0.8.2からGM_openInTabはデフォルト挙動, つまりconfigのbrowser.tabs.loadInBackgroundの値に沿った開き方をするように変更されましたhttp://d.hatena.ne.jp/Constellation/20090928/1254125755
なのでそれを修正しようと思ったが、Chromeだとバックグランドで開いたタブへ一瞬フォーカスされ、画面がちらついたようになる・・・
んで以下の記事に出会う
However, when I do this in chrome, it flashes the new tab for a moment before switching back to the current tab. I want to avoid this.
javascript - Open a new tab in the background? - Stack Overflow
同じ悩み!!
で、上記に書いてあるファンクション使ったらいけた!
function openNewBackgroundTab(url){ var a = document.createElement("a"); a.href = url; var evt = document.createEvent("MouseEvents"); evt.initMouseEvent("click", true, true, window, 0, 0, 0, 0, 0, true, false, false, false, 0, null); a.dispatchEvent(evt); }
その他カレントのURLを取得するやつとかを他のやつからパクったりして大幅に変更しました。
以上
その他参考:
How To Make Links Open In The Background With Firefox & Chrome
JavaScript Tips – dispatchEvent を使いこなそう!! | phiary
2013/01/01 追加
Mac の Chromeだといけないっぽい? 調査中・・・
よくわからんので以下の拡張機能を使用。。
https://chrome.google.com/webstore/detail/google-reader-open-entry/lcimnckjiicikfpppcgnjhiflibbnbel