Améliore le chat de Dreadcast.
目前為
// ==UserScript==
// @name Dreadcast Chat Enhancer
// @namespace http://tampermonkey.net/
// @version 1.0
// @description Améliore le chat de Dreadcast.
// @author MockingJay
// @match http://www.dreadcast.net/Main
// @grant none
// ==/UserScript==
//-------------------------------------
//Fonctions de gestion des cookies
function setCookie(cname, cvalue, exdays) {
var d = new Date();
d.setTime(d.getTime() + (exdays*24*60*60*1000));
var expires = "expires="+d.toUTCString();
document.cookie = cname + "=" + cvalue + "; " + expires;
}
function getCookie(cname) {
var name = cname + "=";
var ca = document.cookie.split(';');
for(var i=0; i<ca.length; i++) {
var c = ca[i];
while (c.charAt(0)==' ') c = c.substring(1);
if (c.indexOf(name) == 0) return c.substring(name.length, c.length);
}
return "";
}
//-------------------------------------
$(document).ready(function() {
var autoScroll = false;
var ck_autoScroll = getCookie("DC_autoScroll");
if (ck_autoScroll === "") {
setCookie("DC_autoScroll", false, 30);
} else {
autoScroll = ck_autoScroll;
}
//Initialiser le CSS et scroller en bas à l'initialisation.
$("#zone_chat .zone_infos .msg").css({
width: '290px',
});
$("#chatContent").css({
"overflow-x": 'hidden',
"overflow-y": 'scroll',
height: '313px',
width: '308px',
});
//Initialisation du bouton d'alerte, utilisé quand l'autoScroll est désactivé.
var $newMessageAlert = $('<div />').appendTo($('#zone_chat'));
$newMessageAlert.text("⚠ Nouveau message! ⚠");
$newMessageAlert.css({
display: 'none',
top: '45px',
"text-align": 'center',
cursor: 'pointer',
background: '#fff',
border: '1px solid #fff',
color: '#0296bb',
"margin-top": '2px',
"-webkit-box-shadow": '0 0 4px 2px #329bc2',
});
$newMessageAlert.attr('onmouseover', 'this.style.backgroundColor=\"#0b9bcb\";this.style.color=\"#FFFFFF\";');
$newMessageAlert.attr('onmouseout', 'this.style.backgroundColor=\"#FFFFFF\";this.style.color=\"#0296bb\";');
//Changer l'autoscroll via le bandeau latéral en haut de l'écran.
var $toggleAutoScroll = $('<li id="toggleAutoScroll" class="couleur5" ></li>'+'<li class="separator"></li>').prependTo($('#bandeau ul.menus'));
if(autoScroll) {
$("#toggleAutoScroll").text("Désactiver l'auto-scroll");
} else {
$("#toggleAutoScroll").text("Activer l'auto-scroll");
}
$("#toggleAutoScroll").css({
cursor: 'pointer',
});
$("#toggleAutoScroll").attr('onmouseover', 'this.style.color=\"#0073d5\";');
$("#toggleAutoScroll").attr('onmouseout', 'this.style.color=\"#999\";');
$("#toggleAutoScroll").click(function(){
if(autoScroll) {
autoScroll = false;
setCookie("DC_autoScroll", false, 30);
$("#toggleAutoScroll").text("Activer l'auto-scroll");
} else {
autoScroll = true;
setCookie("DC_autoScroll", true, 30);
$("#toggleAutoScroll").text("Désactiver l'auto-scroll");
}
});
//Fait défiler le chat jusqu'en bas.
function scrollChat(){
$('#chatContent').stop().animate({
scrollTop: $('#chatContent')[0].scrollHeight
}, 800);
$newMessageAlert.stop().fadeOut(500);
}
$newMessageAlert.click(scrollChat);
$("#chatForm .text_chat").change(scrollChat()); //NON FONCTIONNEL
scrollChat(); //Place le chat au chargement du jeu.
var lastChat = $('#chatContent').text(); //Sert à comparer pour voir si le chat a changé.
//Scrolle ou alerte à la réception d'un message.
setInterval(function(){
if(lastChat != $('#chatContent').text()) {
lastChat = $('#chatContent').text(); //Actualiser la copie local du chat.
if(autoScroll) {
scrollChat();
}
else {
$newMessageAlert.stop().fadeIn(500);
}
}
}, 1000);
});