ゼロと無限の間に

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

ユーザ用ツール

サイト用ツール


greasemonkey:google-search-date-limiter

文書の過去の版を表示しています。


Google検索で手軽に日付範囲を指定できるようにするGreasemonkey - Google Search Date Limiter

更新履歴とコメントはGoogle Date Limiter Archive - ゼロと無限の間のログへどうぞ。

Firebugで作るGreasemonkeyスクリプト~入門と実践(From Kanasan.JS) | Blog.37to.netのGreasemonkeyを使ってたけど、もうちょっとこんな感じにしたいなっと思って改造しようとしたら、ゴリゴリな書き方しかできなくて跡形も無く変わってしまったので、結局ゼロから作った。

使い方

インストールすると、テキストボックスと検索ボタンの間に期間を指定する選択リスト(ドロップダウンリスト)が表示される

期間を指定したい時だけ、好きな期間を選択して検索すればOK。

ライセンス

インストール

ソースコード

// ==UserScript==
// @name        Google search date limiter
// @namespace   http://0-oo.net/
// @description Always display date-range selector on results of Google Search.
// @homepage    http://0-oo.net/sbox/greasemonkey/google-search-date-limiter
// @version     0.2.2a
// @include     http://www.google.tld/search*
// ==/UserScript==
//
// ( The MIT License )
//
(function(){
	//ついでに検索結果の表示領域を広げて見やすくする
	var col = document.getElementById("center_col");
	if (col) {	//	2010年4月からの新レイアウトの場合
		col.style.marginRight = 0;
	}
 
	var btn = document.getElementsByName("btnG")[0];
	btn.parentNode.style.whiteSpace = "nowrap";
 
	var insertBefore = function(elm) {
		btn.parentNode.insertBefore(elm, btn);
	};
 
	var selNum = document.createElement("select");
	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);
 
	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 = "qdr:" + selUnit.options[selUnit.selectedIndex].value;
		qdr += selNum.options[selNum.selectedIndex].text;
 
		var hdn = document.createElement("input");
		hdn.setAttribute("name", "tbs");
		hdn.setAttribute("type", "hidden");
		hdn.setAttribute("value", qdr);
 
		insertBefore(hdn);
	}, false);
})();
greasemonkey/google-search-date-limiter.1270557854.txt.gz · 最終更新: 2010/04/06 21:44 by dgbadmin

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki