文書の過去の版を表示しています。
更新履歴とコメントはGoogle Date Limiter Archive - ゼロと無限の間のログへどうぞ。
Firebugで作るGreasemonkeyスクリプト~入門と実践(From Kanasan.JS) | Blog.37to.netのGreasemonkeyを使ってたけど、もうちょっとこんな感じにしたいなっと思って改造しようとしたら、ゴリゴリな書き方しかできなくて跡形も無く変わってしまったので、結局ゼロから作った。
MITライセンスで。
// ==UserScript== // @name Google search date limiter // @namespace http://0-oo.net/ // @description Always display date-range selector on results of Google Search. // @version 0.1.1 // @include http://www.google.tld/search* // @include http://www.google.tld/url* // ==/UserScript== // // http://0-oo.net/sbox/javascript/google-search-date-limiter // ( The MIT License ) // (function(){ var btn = document.getElementsByName("btnG")[0]; var insertBefore = function(elm) { btn.parentNode.insertBefore(elm, btn); }; var selNum = document.createElement("select"); selNum.appendChild(document.createElement("option")); for (var i = 1; i < 10; i++) { var opt = document.createElement("option"); opt.appendChild(document.createTextNode(i)); selNum.appendChild(opt); } insertBefore(selNum); var selUnit = document.createElement("select"); var units = { //d: "day(s)", w: "week(s)", m: "month(s)", y: "year(s)" //for English d: "日", w: "週間", m: "ヶ月", y: "年" } for (var val in units) { opt = document.createElement("option"); opt.setAttribute("value", val); opt.appendChild(document.createTextNode(units[val] + " 以内")); selUnit.appendChild(opt); } selUnit.selectedIndex = 2; //デフォルトは"月" insertBefore(selUnit); document.forms[0].addEventListener("submit", function() { if (!selNum.selectedIndex) { return; //数字を選んだ場合のみ期間限定にする } var qdr = selUnit.options[selUnit.selectedIndex].value; qdr += selNum.options[selNum.selectedIndex].text; var hdn = document.createElement("input"); hdn.setAttribute("name", "as_qdr"); hdn.setAttribute("type", "hidden"); hdn.setAttribute("value", qdr); insertBefore(hdn); }, false); })();