フォーカス、フォーカス、フォーカス

// ==UserScript==
// @name           tumblr text post stop focus
// @namespace      http://www.tumblr.com/
// @include        http://www.tumblr.com/new/text*
// ==/UserScript==

(function(){
	document.getElementById('post_one').blur();
})();

あり? これじゃダメか?
focusが一瞬、外れるんだけどすぐに戻っちゃうねえ。なんだろー


utatane先生より

Greasemonkeyの実行タイミングはDOMContentLoadedです.
これはDOMを扱う準備ができたという意味で, 完全に読み込みが終了した時のloadイベントよりも先に発火します.

Tumblrのfocusをあてるcodeはloadイベントで行うようになってるので, Greasemonkeyでそのままやると, focusを当てなおされてしまいます.

http://d.hatena.ne.jp/taizooo/20081029/1225238888#c1225293365
// ==UserScript==
// @name tumblr text post stop focus
// @namespace http://d.hatena.ne.jp/Constellation/
// @include http://www.tumblr.com/new/text*
// ==/UserScript==
(function(win){
var original = win.onload;
win.onload = function(){
original.apply(win, arguments);
document.getElementById('post_one').blur();
}
})(this.unsafeWindow || this);
http://d.hatena.ne.jp/taizooo/20081029/1225238888#c1225293365

よくわかってないんだけど、ひょっとして win.onload を書き換えちゃうなんていうことをやっちゃってるのかしら? 書き換え書き換え!!!

やっぱり本文(post)に最初からフォーカスが当たっているほうがオレ的には便利

// ==UserScript==
// @name tumblr text post stop focus
// @namespace http://d.hatena.ne.jp/Constellation/
// @include http://www.tumblr.com/new/text*
// ==/UserScript==
(function(win){
var original = win.onload;
win.onload = function(){
original.apply(win, arguments);
document.getElementById('post_two').focus();
}
})(this.unsafeWindow || this);