ゼロと無限の間に

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

ユーザ用ツール

サイト用ツール


サイドバー

何かありましたら、メールで連絡いただくか、ブログのどこかにコメント入れてくださいね ^_^

Menu

ゼロと無限の間に

はじめに

作った主なサイト

作った主な便利ツール(無料)

ログ (Blog)

javascript: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.
// @version     0.2.0
// @include     http://www.google.tld/search*
// @include     http://www.google.tld/custom*
// @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 < 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);
})();
javascript/google-search-date-limiter.1242914171.txt.gz · 最終更新: 2009/05/21 22:56 by dgbadmin