Hatena::ブログ(Diary)

Griever Twitter

2009/02/11

しょぼ〜いスピードダイヤルっぽい物を考えた

ショートカットキーとかクリックで追加とかサムネイルとか付いていない、超軽量なスピードダイヤルです。

もっとわかりやすく言うと、about:blank にリンク書いただけです。

これで十分じゃないですか?(ぇ

f:id:Griever:20090211143323p:image

// ==UserScript==
// @name           TEST
// @namespace      http://d.hatena.ne.jp/Griever/
// @include        main
// ==/UserScript==

gBrowser.mPanelContainer.addEventListener('DOMContentLoaded', function({target: doc}){
	if (doc.location.href != 'about:blank') return;

doc.body.appendChild(doc.createRange().createContextualFragment(
<![CDATA[
	<style>
body, html{
	width: 100%;
	height: 100%;
	margin: 0;
	padding:0;
	overflow: hidden;
}
#speeddial {
	list-style: none;
	width: 90%;
	height: 90%;
	margin: auto;
	padding: auto;
}
#speeddial > li{
	display: inline-block;
	text-align: center;
	width: 33%;
	height: 33%;
	overflow: hidden;
}
#speeddial > li > a{
	display: block;
	width: 100%;
	height: 100%;
	color: black;
	font-size: 22pt;
	font-weight: bold;
}
span.box{
	display: inline-block;
	width: 1.1em;
	height: 1.1em;
}
li:nth-child(odd) { background-color: azure; }
li:nth-child(even){ background-color: beige; }

	</style>

	<div style="text-align:center; margin:1em;">
		<form method="GET" action="http://www.google.co.jp/search" style="padding:0; margin:0;">
			<input type="text" name="q" size="31" value="">
			<input type="hidden" name="hl" value="ja">
			<input type="submit" name="btnG" value="Google 検索">
		</form>
	</div>

	<ol id="speeddial">
		<li>
			<a href="http://www.google.co.jp/" style="text-shadow: 6px 3px 3px #999;">
				<span style="color:#00f;">G</span>
				<span style="color:#f00;">o</span>
				<span style="color:#ff0;">o</span>
				<span style="color:#00f;">g</span>
				<span style="color:#080;">l</span>
				<span style="color:#f00;">e</span>
			</a>
		</li>
		<li>
			<a href="http://www.yahoo.co.jp/">
				<span style="color:#f00;">YAHOO!</span>
				<br>
				<span style="color:#f00; font-size:xx-small;">JAPAN</span>
			</a>
		</li>
		<li>
			<a href="http://www.livedoor.com/">
				<span class="box" style="border:#f00 3px solid; text-align:left; background-color:#fff;">/</span>
				livedoor
			</a>
		</li>
		<li>
			<a href="http://reader.livedoor.com/reader/">
				<span class="box" style="background-color:#00f; color:#fff;">R</span>
				livedoor Reader
			</a>
		</li>
		<li>
			<a href="http://d.hatena.ne.jp/Griever/">
				<span class="box" style="background-color:#60c; color:#fff;">D</span>
				Griever
			</a>
		</li>
		<li>
			<a href="http://www.youtube.com/browse?gl=JP&hl=ja">
				You
				<span style="background-color:#f00; color:#fff; -moz-border-radius:4px;">Tube</span>
			</a>
		</li>
		<li>
			<a href="http://www.nicovideo.jp/">
				ニコニコ動画(ββ)
				<div style="font-size: 16px;">
					<div>\/</div>
					<div style="width: 160px; height: 90px; border: 2px solid #000; margin:auto; background-color:#fff;">
						<div style="height:20%;"> </div>
						<div style="height:20%;">●     ●</div>
						<div style="height:20%;"> </div>
						<div style="height:20%;"></div>
						<div style="height:20%;"> </div>
					</div>
					<div>■     ■</div>
				</div>
			</a>
		</li>
		<li>
			8<br>
			スピードダイヤルっぽいリンク置き場です。
		</li>
		<li>
			9<br>
			登録は手作業でお願いします。
		</li>
	</ol>
]]>.toString()
));

},false);

見ての通り大部分が html です。

ウインドウ縮小したりするとずれるので、素直に table 使った方が良さそう。。


配列作って登録した物をガ〜っと書き出そうかと思ったけど、Googleがやりたかったからやめた。


勢いでニコニコのアイコンも書いちゃいましたよ。

Firefox の設定を変えないと顔にリンクの下線が入っちゃう問題がありますが。。


これはネタのつもりなので今後メンテとかしません。

ただ about:blank にリンクを作るのは便利なのでなんとか活用したいですね。

about:blank かどうかの判別をもう少し考えないといけない気がしますが。

スキンいじいじ

Firefox でスクロール時にチカチカしたので header 部分は固定した。

id:momizine さんのところはチカチカしないので、私が変なところ弄ったんでしょうね。。


footer 周りも色々試してみましたが、float はやっぱり使いにくいですねぇ。。

display: inline-block; に変えたいくらい。。

ChromeIEデバッグする気力があったら試すかもしれません。


あと Opera で横スクロールバーが出ていたところは html の overflow-y を auto にしたら消えました。

なんでこれで消えるのかよくわかりませんが、消えたので良しとします。

ついでに div.footer:hover の overflow も auto にしました。