Google Timer Title Update

Automatically updates the title when using Google's timer

2016-09-02 기준 버전입니다. 최신 버전을 확인하세요.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

// ==UserScript==
// @name           Google Timer Title Update
// @namespace      org.alorel.googletimer
// @author         Alorel <[email protected]>
// @description    Automatically updates the title when using Google's timer
// @include        https://*google.*/search?*
// @version        1.0
// @icon           https://cdn.rawgit.com/AlorelUserscripts/google-timer-title-switcher/master/icon.png
// @run-at         document-end
// @grant          GM_info
// ==/UserScript==

(function (document, MutationObserver) {
    var timerArea,
        container,
        title;

    if (container = document.querySelector("#act-timer-section>div")) {
        timerArea = container.querySelector("div");
        title = document.querySelector("head>title");

        (function () {
            var faviconElement;
            if (faviconElement = document.querySelector('link[rel="shortcut icon"]')) {
                faviconElement.setAttribute("href", GM_info.script.icon);
                faviconElement = null;
            }
        })();

        (new MutationObserver(function () {
            if (container.classList.contains("act-tim-paused")) {
                title.innerText = "PAUSED";
            } else if (container.classList.contains("act-tim-finished")) {
                title.innerText = "FINISHED";
            } else {
                title.innerText = timerArea.innerText.trim();
            }
        })).observe(timerArea, {
            childList: true,
            attributes: true,
            characterData: true,
            subtree: true
        });
    }
})(document, MutationObserver);