ページの先頭や最後尾に一気にスクロールさせるグリモン


長らく放置(奇しくも2年前の今日に書いたエントリとは)してましたが、以下の対応を実施しました。
  • iframeウィンドウ内にボタンが追加されてたのをされない様にした。
  • ボタンの位置を変更。(キャプチャ画像参照)
  • ボタンをdataスキームにて画像にしました。(キャプチャ画像参照)

自分用に作ったしょうもないグリモンだけど、載っけてみます。
このグリモンをインストールしてウィンドウ右下にカーソルをもってくと

んなのがひょこっと出てきます。▲をクリックするとページ先頭に、▼をクリックするとページ最後尾にスクロールします。
それだけです。(;^ω^)

ソース

// ==UserScript==
// @name           fastnessTopAndBottom
// @namespace      http://d.hatena.ne.jp/so_blue/
// @description    ページの先頭、最後へ即座にスクロールさせます。
// @include        http://*
// @include        https://*
// ==/UserScript==
(function() {

	//Top & Bottomボタンのhtmlソース
	var fastnessButtonHTML = <>
		<div id="fastness_buttons">
			<span id="goPageTop">▲</span>
			<span id="goPageBottom">▼</span>
		</div>
	</>;
	var fastnessButton = document.createElement('DIV');
	fastnessButton.innerHTML = fastnessButtonHTML;
	fastnessButton = fastnessButton.firstChild;

	//ボタンのstyle
	GM_addStyle(<><![CDATA[
		#fastness_buttons {
			margin: 0; padding: 0;
			position: fixed;
			bottom: 0px;
			right: 50px;
			width: 94px;
			opacity: 0;       /* 普段は透明にしておく */
			z-index: 999;
		}
		#fastness_buttons:hover {
			opacity: 0.6;     /* オンマウス時のみ、透明度を弱める */
		}
		#goPageTop, #goPageBottom {
			display: inline-block;
			color: #fff;
			background-color: #ffa500;
			font-size: 16px;
			line-height: 18px;
			padding: 2px;
			width: 40px;
			list-style-type: none;
			text-align: center;
			cursor: pointer;
			-moz-border-radius: 5px 5px 0 0; /* 角丸にする */
		}
		#goPageTop:hover, #goPageBottom:hover {
			color: #00f;
		}
	]]></>);

	fastnessButton.addEventListener('click', fastnessScroll, false);
	document.body.appendChild(fastnessButton);

	//スクロールさせる関数
	function fastnessScroll(e) {
		var p = (e.target.id =='goPageTop') ? 0: (document.documentElement.scrollHeight || document.body.scrollHeight);
		window.scrollTo((document.documentElement.scrollLeft || document.body.scrollLeft), p);
	}

})();

最後尾にスクロールさせる時、うまくスクロールしてくれないページがあったんですが、その原因が表示モード(標準/互換)に依るものだと気付くのに少し手間取りました。

よければ

ここからどうぞ。
インストールはこちらから
http://userscripts.org/scripts/show/100333