ゼロと無限の間に

フリーでオープンソースなJavaScriptとかPHPとか。

ユーザ用ツール

サイト用ツール


greasemonkey:google-search-date-limiter

差分

このページの2つのバージョン間の差分を表示します。

この比較画面にリンクする

両方とも前のリビジョン 前のリビジョン
次のリビジョン
前のリビジョン
greasemonkey:google-search-date-limiter [2011/04/27 22:31]
dgbadmin 0.3.0 インスタント検索に対応
greasemonkey:google-search-date-limiter [2015/09/19 21:14] (現在)
dgbadmin gistに移行
行 5: 行 5:
  
 ===== 使い方 ===== ===== 使い方 =====
-インストールすると、テキストボックスと検索ボタンの間に期間を指定する選択リスト(ドロップダウンリスト)が表示される\\+インストールすると、テキストボックスと検索ボタンの間に期間を指定する選択リスト(ドロップダウンリスト)が表示される 
 {{:javascript:google-search-result.jpg|}} {{:javascript:google-search-result.jpg|}}
 +
 +※この画面イメージは古いGoogle検索のときのもの
  
 期間を指定したい時だけ、好きな期間を選択して検索すればOK。 期間を指定したい時だけ、好きな期間を選択して検索すればOK。
 +
 +FirefoxのGreasemonkeyと、ChromeのTampermonkeyで動作する。
  
  
行 15: 行 20:
  
  
-===== インストール ===== +===== ダウンロード・インストール ===== 
-[[http://0-oo.net/us/google_search_date_limiter.user.js|google_search_date_limiter.user.js]] +[[https://gist.github.com/0-oo/6151150829f16b993e47|gist]]からどうぞ。
- +
- +
-===== ソースコード ===== +
-<code javascript> +
-// ==UserScript== +
-// @name        Google search date limiter +
-// @namespace   http://0-oo.net/ +
-// @description Add the date-range selector on Google Search. +
-// @homepage    http://0-oo.net/sbox/greasemonkey/google-search-date-limiter +
-// @version     0.3.0 +
-// @include     http://www.google.tld/search* +
-// @include     http://www.google.tld/webhp* +
-// @include     http://www.google.tld/ig* +
-// @include     http://www.google.tld/ +
-// ==/UserScript== +
-// +
-// ( The MIT License ) +
-// +
-(function(){ +
- var selStyle = "margin-top:5px"; //select要素のスタイル +
-  +
- var btn = document.getElementsByName("btnG")[0]; //検索ボタン +
- btn.parentNode.setAttribute("style", "white-space:nowrap"); +
- var insertBefore = function(elm) { btn.parentNode.insertBefore(elm, btn); }; +
-  +
- //数字のselect +
- var selNum = document.createElement("select"); +
- selNum.setAttribute("style", selStyle); +
- selNum.appendChild(document.createElement("option")); +
-  +
- for (var i = 1; i < 13; i++) { +
- var opt = document.createElement("option"); +
- opt.appendChild(document.createTextNode(i)); +
- selNum.appendChild(opt); +
-+
-  +
- insertBefore(selNum); +
-  +
- //単位のselect +
- var selUnit = document.createElement("select"); +
- selUnit.setAttribute("style", selStyle); +
- var units = {}; +
-  +
- if (navigator.language == "ja") { +
- units = { d: "日", w: "週間", m: "ヶ月", y: "年" }; +
- } else { +
-  units = { d: "day(s)", w: "week(s)", m: "month(s)", y: "year(s)" }; +
-+
-  +
- 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 url = location.href.split("/").slice(0, 3).join("/") + "/search?q="; +
-  +
- //検索ワード +
- url += encodeURIComponent(document.getElementsByName("q")[0].value); +
-  +
- //期間 +
- var qdr = "qdr:" + selUnit.options[selUnit.selectedIndex].value; +
- qdr += selNum.options[selNum.selectedIndex].text; +
- url += "&tbs=" + qdr; +
-  +
- //(あれば)言語での絞り込み +
- url += location.href.match(/&lr=lang_[-a-z]+/i) || ""; +
-  +
- //インスタント検索が有効な場合は生成したURLにちょっと待ってから遷移 +
- setTimeout(function() { location.href = url; }, 900); +
-  +
- //インスタント検索が無効な場合は既存のformに隠し項目を追加 +
- var hdn = document.createElement("input"); +
- hdn.setAttribute("name", "tbs"); +
- hdn.setAttribute("type", "hidden"); +
- hdn.value = qdr; +
- insertBefore(hdn); +
- }, false); +
-})(); +
-</code>+
  
greasemonkey/google-search-date-limiter.1303911097.txt.gz · 最終更新: 2011/04/27 22:31 by dgbadmin