Auto Focus

Auto Focus on load.

이 스크립트를 설치하려면 Tampermonkey, Greasemonkey 또는 Violentmonkey와 같은 확장 프로그램이 필요합니다.

You will need to install an extension such as Tampermonkey to install this script.

이 스크립트를 설치하려면 Tampermonkey 또는 Violentmonkey와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 Tampermonkey 또는 Userscripts와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 Tampermonkey와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 유저 스크립트 관리자 확장 프로그램이 필요합니다.

(이미 유저 스크립트 관리자가 설치되어 있습니다. 설치를 진행합니다!)

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

(이미 유저 스타일 관리자가 설치되어 있습니다. 설치를 진행합니다!)

// ==UserScript==
// @name           Auto Focus
// @description:en Auto Focus on load.
// @version        1.0
// @namespace      http//example.com
// @include        *
// @description Auto Focus on load.
// ==/UserScript==
(function(){
    var d = document;
    
    var settings = [
        // はてなブックマーク
        {
            site: "b.hatena.ne.jp",
            find: function(){
                var helper = function(id){
                    var f = d.getElementById(id);
                    return f && f.getElementsByTagName("input")[0];
                }
                
                return helper("tag-search-related-form") ||
                       helper("tag-search-form");
            }
        }
    ];
    
    for(var i = 0, n = settings.length; i < n; i++){
        var setting = settings[i];
        var regex = getRegex(setting.site);
        if(location.href.match(regex)){
            var found = setting.find();
            found && found.focus();
        }
    }
    
    function getRegex(s){
        s = s.replace(".", "\\.");
        s = s.replace("*", ".*");
        s = s.replace("?", "\\?");
        s = s.replace("/", "\\/");
        s = "^http:\\/\\/" + s;
        return new RegExp(s, "i");
    }
})();