日本語フォーラムの新着書き込みを新しいウィンドウで
Ubuntu 日本語フォーラムの書き込みですが、私は RSS リーダなどは使わずブラウザで開いています。ログインしたら*1 "前回訪問以降の投稿を表示する" をクリックして表示されるトピックを手動で開いていたりしたわけですが、非常にめんどくさいわけですよ。新着を全て新しいタブで開く機能があったらいいなーと思いつつ、かれこれ数年手作業をしていました。Firefox アドオン作るのが面倒だったわけです。
ですが、Greasemonkey スクリプトを書けば数行であっさり解決するんじゃね? と思いついたのが先日*2。あっさり解決しました orz
// ==UserScript== // @name Open new tab for Ubuntu Japanese Forum // @namespace https://forums.ubuntulinux.jp/ // @description Newly post is opened in a new tab. // @include https://forums.ubuntulinux.jp/search.php?action=show_new // ==/UserScript== (function() { var lines = document.evaluate('/html/body/div[2]/div/div/div/div/div[4]/div/div/div[4]/div/div/table/tbody', document, null, 7, null ).snapshotItem(0).childElementCount; if(confirm(lines + '個のウィンドウを開きます')){ for (var i = 1; i <= lines; i++) { var xpath; if (i == 1) { xpath = '/html/body/div[2]/div/div/div/div/div[4]/div/div/div[4]/div/div/table/tbody/tr/td[4]/a'; } else { xpath = '/html/body/div[2]/div/div/div/div/div[4]/div/div/div[4]/div/div/table/tbody/tr[' + i + ']/td[4]/a'; } var url = document.evaluate(xpath, document, null, 7, null ).snapshotItem(0); window.open(url); } } })();
"前回訪問以降の投稿を表示する" をクリックすると、こんな感じになります。Firefox はポップアップを許可していても、デフォルトでは 20 個以上のポップアップは禁止される設定になっていますので、about:config で dom.popup_maximum を増やしておく必要があるかも。