Greasy Fork 支持简体中文。

Twitch Chroma Chat

Chroma Key Style Background for Twitch Chat

// ==UserScript==
// @name       Twitch Chroma Chat
// @author	   TraCeRMan
// @version    0.4
// @description  Chroma Key Style Background for Twitch Chat
// @include        http://*.twitch.tv/*
// @include        http://twitch.tv/*
// @exclude        http://www.twitch.tv/*/dashboard
// @exclude        http://www.twitch.tv/inbox*
// @exclude        http://www.twitch.tv/subscriptions*
// @exclude        http://store.twitch.tv
// @exclude        http://api.twitch.tv/*
// @exclude        https://api.twitch.tv/*
// @require     http://ajax.googleapis.com/ajax/libs/jquery/2.0.3/jquery.min.js
// @grant       GM_addStyle
// @copyright  2013+, tracerman
// @run-at	document-end
// @namespace https://greasyfork.org/users/59
// ==/UserScript==

	var chatInt = $(".chat-interface").css("background-color");
    var showCheck72 = 0;
	var zNode14       = document.createElement ('div');

zNode14.innerHTML = '<button id="myButton14" type="button">'
                + 'C</button>';

zNode14.setAttribute ('id', 'myContainer14');
document.body.appendChild (zNode14);

//--- New Features

    
//--- Activate the newly added button.
document.getElementById ("myButton14").addEventListener (
    "click", ButtonClickAction, false
);

function ButtonClickAction (zEvent) {
    if(showCheck72 == 1) {
     chatInt = $(".chat-interface").css("background-color");
        if (chatInt == "rgb(220, 220, 220)"){
            $(".chat-messages").each(function () {
      	this.style.setProperty("background", "#dcdcdc", "important");
});
        }
        else if (chatInt == "rgb(255, 255, 255)"){
            $(".chat-messages").each(function () {
      	this.style.setProperty("background", "white", "important");
});
        }
        else
        {
            $(".chat-messages").each(function () {
      	this.style.setProperty("background", "rgb(30, 30, 30)", "important");
});
        }
        
    $(".chat-messages").each(function () {
      	//--- this.style.setProperty("background", chatBack, "important");
        this.style.setProperty("font-weight", "");
});
       $(".chat-messages").each(function () {
        this.style.setProperty("background", "");
}); 
       //--- Style our newly added elements using CSS.
GM_addStyle ( multilineStr ( function () {/*!
    .chat-messages {
    	font-size:			13.33333px !important;
    }
    .message {
        text-shadow:               none;
    }
    .from {
        text-shadow:               none;
    }
*/} ) );
$("#myButton14").fadeTo("fast", 1).delay(200).css({"color":"green"});
    showCheck72 = 0;
}
else if(showCheck72 == 0) { 
    $(".chat-messages").each(function () {
      this.style.setProperty("background", "#00ff00", "important");
      this.style.setProperty("font-weight", "bold");
});
        
        //--- Style our newly added elements using CSS.
GM_addStyle ( multilineStr ( function () {/*!
    .chat-messages {
    	font-size:			14.5px !important;
    }
    .message {
        text-shadow:               -1px 1px 10px white, 1px -1px 10px #fff;
    }
    .from {
        text-shadow:               -1px 1px 8px yellow, 1px -1px 8px #fff;
    }
    
*/} ) );
    
$("#myButton14").fadeTo("fast", 0.5).delay(200).css({"color":"red"});
        showCheck72 = 1;
}
else {
    
}
    
}
                    

//--- Style our newly added elements using CSS.
GM_addStyle ( multilineStr ( function () {/*!
    #myContainer14 {
        position:               absolute;
        bottom:                    0;
        right:					0;
        font-size:              10px;
        border:                 0px outset black;
        margin:                 0px;
        opacity:                10.0;
        z-index:                255;
        padding:                0px 1px;
    }

    #myButton14 {
        cursor:                 pointer;
       	background: 			transparent;
    	border: 				none !important;
        color:					green;
        font-weight:			bold;
    }

    
*/} ) );

function multilineStr (dummyFunc) {
    var str = dummyFunc.toString ();
    str     = str.replace (/^[^\/]+\/\*!?/, '') // Strip function () { /*!
            .replace (/\s*\*\/\s*\}\s*$/, '')   // Strip */ }
            .replace (/\/\/.+$/gm, '') // Double-slash comments wreck CSS. Strip them.
            ;
    return str;
}