您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Automatically repositions the elements of the Facebook navigation bar as they were in the previous version of the social network: friends requests, messages and notifications on the left (next to the logo), the other ones on the right. Lets also add a short personalized text (eg. a nickname) in the navbar. Ability to change the background color of the navigation bar.
当前为
// ==UserScript== // @name Facebook Old NavBar by LaNouille974 // @name:fr Ancienne barre de navigation de Facebook par LaNouille974 // @description Automatically repositions the elements of the Facebook navigation bar as they were in the previous version of the social network: friends requests, messages and notifications on the left (next to the logo), the other ones on the right. Lets also add a short personalized text (eg. a nickname) in the navbar. Ability to change the background color of the navigation bar. // @description:fr Repositionne automatiquement les éléments de la barre de navigation de Facebook tels qu'ils étaient dans la version précédente du réseau social : invitations en ami, messages et notifications à gauche (à côté du logo), le reste à droite. Permet également d'ajouter un court texte personnalisé (ex: un pseudo) à la barre de navigation. Possibilité de changer la couleur de fond de la barre. // @namespace https://www.facebook.com // @include https://www.facebook.com/* // @version 1.3 // @icon http://img15.hostingpics.net/pics/772325facebookoldnavbar11bylanouille974.png // @grant none // @require https://code.jquery.com/jquery-1.11.0.min.js // ==/UserScript== $.noConflict(); jQuery( document ).ready(function($) { /*** Configuration ***/ var defaultNickName = 'LaNouille974'; var defaultNavBarColor = ''; var defaultPic = 'http://img11.hostingpics.net/pics/962935runico.png'; var colorpickerPic = 'http://img4.hostingpics.net/pics/387100colorpicker.png'; var navBar = $('#blueBarNAXAnchor'); var logo = navBar.find('h1:first') /**** End Configuration ***/ /*** Global vars ***/ var colorChanged = false; /*** End Global vars ***/ var originalNavRight = navBar.find('div._2gyk:first'); //Cloner la navRight var newNavRight = originalNavRight.clone(); //Un peu de CSS pour les nouvelles navBar newNavRight.css({ 'float': 'left', 'margin-left': logo.width() + 2 + 'px', 'margin-right': '10px', 'position': 'relative' }); //Remettre les boutons permettant d'ouvrir les popups au premier plan newNavRight.find('a.jewelButton').css({ 'z-index': '100' }); //Retirer les éléments indésirables de chaque navBar removeNavElements(originalNavRight, 'old'); removeNavElements(newNavRight, 'new'); //Personnalisation var li = $("<li/>"); li.attr('id', 'thenoodle'); li.attr('title', 'Cliquer pour changer le texte'); li.addClass('navItem tinyman litestandNavItem').text(defaultNickName); li.prependTo(originalNavRight.children('ul:first')); $('li#thenoodle').css({ 'height': '25px', 'line-height': '25px', 'color': 'white', 'font-weight': 'bold', 'position': 'relative', 'left': '-25px', 'top': '-2px', 'background-image': "url('"+ defaultPic +"')", 'background-repeat': 'no-repeat', 'background-size': '25px 25px', 'padding-left' : '32px', 'cursor': 'pointer', 'float': 'left' }); //Création du colorPicker invisible $('<input/>').attr({ type: 'color', id: 'colorpicker', name: 'colorpicker'}).appendTo('body'); $('#colorpicker').css({ 'position': 'absolute', 'top': -9999, 'left': -9999, }); //Ajouter bouton colorPicker var liPicker = $("<li/>"); liPicker.attr('id', 'pickerOpenerLi'); var divPicker = $("<div/>"); divPicker.attr('id', 'pickerOpenerDiv'); divPicker.appendTo(liPicker); $('#thenoodle').after(liPicker); $('#pickerOpenerLi').css({ 'position': 'relative', 'border-radius': '2px', 'cursor': 'pointer', 'width': '27px', 'height': '27px', 'float': 'left', 'top': '-3px', 'margin-right': '5px' }); $('#pickerOpenerDiv').css({ 'background-image': "url('"+ colorpickerPic +"')", 'background-repeat': 'no-repeat', 'background-size': '19px 19px', 'border-radius': '2px', 'width': '19px', 'height': '19px', 'position': 'relative', 'top': '4px', 'left': '4px' }); liPicker.mouseenter(function(e){ $(this).css('background', 'none repeat scroll 0 0 rgba(0, 0, 0, 0.1)'); }); liPicker.mouseleave(function(e){ $(this).css('background', 'transparent'); }); //Ouvrir le colorPicker au clic $('#pickerOpenerLi').click(function(e) { $('#colorpicker').trigger('click'); }); $('#colorpicker').on('input', function() { changeColor($(this).val()); }); //Animation fadeIn/fadeOut perpétuel infiniteFadeInOut($('li#thenoodle'), true); //Changer le pseudo à la volée $('li#thenoodle').click(function(){ changeNickName($(this)); }); //Ajoute la nouvelle navBar à gauche newNavRight.prependTo(logo.parent()); //Modifier emplacements popup //Messages $("#u_0_5").parent().click(function() { //Fleche $('#u_0_5 .beeperNub').css({ 'right': '0', 'left': '35px' }); //Popup $('#u_0_5').css({ 'right': '0', 'left': '-30px' }); }); //Friends requests $("#fbRequestsFlyout").parent().click(function() { //Fleche $('#fbRequestsFlyout .beeperNub').css({ 'left': '4px' }); //Popup $("#fbRequestsFlyout").css({ 'left': '0', }); }); //Notifications $('#fbNotificationsFlyout').parent().click(function(){ //Fleche $('#fbNotificationsFlyout .beeperNub').css({ 'right': '0', 'left': '4px' }); //Popup $("#fbNotificationsFlyout").css({ 'right': 'auto', }); }); //Changer la couleur de la navBar au chargement si une couleur par défaut est définie changeColor(defaultNavBarColor); /*$(document).on("DOMNodeInserted",function(evt){ var target = $(evt.target); var parents = target.parents('#pagelet_timeline_recent'); if (parents.length) console.log('node inserted in timeline'); });*/ /*** FUNCTIONS ***/ //Change la couleur de la barre function changeColor(colorHex) { if (typeof colorHex === 'undefined' || colorHex == '') return; /*if (!colorChanged) { $('*').filter(function(i){ return $(this).css("color") == $("<div style='color:#3b5998'/>").css("color"); }).css("color", colorHex); colorChanged = true; } else { var currentNavBarColor = navBar.css('background-color'); $('*').filter(function(i){ return $(this).css("color") == currentNavBarColor; }).css("color", colorHex); }*/ navBar.css({ 'background-color': colorHex, 'background-image' : 'none' }); } //FadeIn puis fadeOut en boucle de l'élément passé en paramètre function infiniteFadeInOut (elem, fadeOut) { var targetOpacity = fadeOut ? 0.5 : 1; var duration = fadeOut ? 2000 : 500; fadeOut = !fadeOut; elem.animate({ opacity: targetOpacity }, duration, 'swing', function() { infiniteFadeInOut($(this), fadeOut); }); } //Retire les li indésirables de la navBar passé en param //Type = old ou Type = new function removeNavElements(navBar, type) { var elementsToRemove = []; if (type == 'new') elementsToRemove = [0, 1, 4, 5, 6]; else elementsToRemove = [2, 3]; navBar.children('ul:first').children('li').each(function(i) { //console.log(elementsToRemove); if ($.inArray(i, elementsToRemove) !== -1) { $(this).remove(); //console.log(i); } }); } function changeNickName(domElem) { var precNickName = domElem.text(); var newNick = ''; do { newNick = prompt('Nouveau texte (12 caractères max, taper "!q" pour quitter) :'); if (newNick === null || newNick == '!q') break; else if (newNick.length > 12) alert('Nouveau texte trop long ! 12 caractères max. (' + newNick.length + ' saisis)'); } while (newNick.length > 12 || newNick == '') console.log(newNick); if (newNick == null ) { if (precNickName == '') newNick = defaultNickName; else newNick = precNickName; } else if(newNick == '!q') newNick = precNickName; domElem.text(newNick); } });