J'utilise Chrome et je souhaite modifier les liens de la barre, mais je ne sais pas comment. Ce pourrait être un script Greasemonkey, mais je ne sais pas comment l'écrire.
J'utilise Chrome et je souhaite modifier les liens de la barre, mais je ne sais pas comment. Ce pourrait être un script Greasemonkey, mais je ne sais pas comment l'écrire.
Réponses:
Le script utilisateur Réorganiser la barre de menus de Google Apps devrait très bien fonctionner pour vous.
Il semble assez simple d'ajouter ou de déplacer des éléments comme vous le souhaitez. Le script ne fait que supprimer les éléments de la liste actuelle et les remplacer par de nouveaux.
Donc, pour ajouter Google Docs à la liste des liens que vous ajouteriez:
newOrderedList.innerHTML += '<li class=gbt><a target="_blank" class="gbzt" href="https://docs.google.com"><span class="gbtb2"></span><span class="gbts">Documents</span></a></li>';
Juste ou référencez le script utilisateur complet comme suit:
// ==UserScript==
// @name Rearrange Google Apps Menu Bar
// @namespace http://divergentblue.com
// @version 0.1
// @description Customizes the google black bar
// @include *
// ==/UserScript==
function reformatList()
{
// Remove the OL containing the nav links
var divContainingOrderedList = document.getElementById('gbz');
var orderedList = document.getElementById("gbz").getElementsByTagName("ol")[0];
divContainingOrderedList.removeChild(orderedList);
var newOrderedList = document.createElement("ol");
newOrderedList.setAttribute("class", "gbtc");
// Add Plus
newOrderedList.innerHTML += '<li class=gbt><a target="_blank" class="gbzt" href="https://plus.google.com"><span class="gbtb2"></span><span class="gbts">+</span></a></li>';
// Add Gmail
newOrderedList.innerHTML += '<li class=gbt><a target="_blank" class="gbzt" href="https://mail.google.com"><span class="gbtb2"></span><span class="gbts">Gmail</span></a></li>';
// Add Voice
newOrderedList.innerHTML += '<li class=gbt><a target="_blank" class="gbzt" href="https://voice.google.com/"><span class="gbtb2"></span><span class="gbts">Voice</span></a></li>';
// Add Calendar
newOrderedList.innerHTML += '<li class=gbt><a target="_blank" class="gbzt" href="https://calendar.google.com/"><span class="gbtb2"></span><span class="gbts">Calendar</span></a></li>';
// Add Contacts
newOrderedList.innerHTML += '<li class=gbt><a target="_blank" class="gbzt" href="https://www.google.com/contacts"><span class="gbtb2"></span><span class="gbts">Contacts</span></a></li>';
// Add Reader
newOrderedList.innerHTML += '<li class=gbt><a target="_blank" class="gbzt" href="https://reader.google.com"><span class="gbtb2"></span><span class="gbts">Reader</span></a></li>';
// Add News
newOrderedList.innerHTML += '<li class=gbt><a target="_blank" class="gbzt" href="https://news.google.com"><span class="gbtb2"></span><span class="gbts">News</span></a></li>';
// Add Finance
newOrderedList.innerHTML += '<li class=gbt><a target="_blank" class="gbzt" href="https://finance.google.com"><span class="gbtb2"></span><span class="gbts">Finance</span></a></li>';
// Add the OL to the DOM
divContainingOrderedList.appendChild(newOrderedList);
}
reformatList();
J'ai créé un script utilisateur pour Chrome qui utilise jQuery pour déplacer les liens Gmail et Calendrier juste après celui de Google+. Il utilise ce code par mon collègue tghw pour ajouter jQuery à la page. Mise à jour: cette version ajoute également un lien vocal google
// ==UserScript==
// @name Reorder Google links
// @namespace http://adambox.org
// @description Put the gmail and calendar links right after g+ where they belong
// ==/UserScript==
if (window.location.host.toLowerCase() == "www.google.com" || window.location.host.toLowerCase() == "mail.google.com")
{
// a function that loads jQuery and calls a callback function when jQuery has finished loading
function addJQuery(callback) {
var script = document.createElement("script");
var sProtocol = window.location.protocol;
script.setAttribute("src", sProtocol + "//ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js");
script.addEventListener('load', function() {
var script = document.createElement("script");
script.textContent = "(" + callback.toString() + ")();";
document.body.appendChild(script);
}, false);
document.body.appendChild(script);
}
// the guts of this userscript
function main() {
var calendar = $('li.gbt:contains("Calendar")');
var gplus = $('li.gbt:contains("+Adam")');
var gmail = $('li.gbt:contains("Gmail")');
calendar.insertAfter(gplus);
gmail.insertAfter(gplus);
var gvoiceLi = document.createElement("li");
gvoiceLi.className = "gbt";
gvoiceLi.innerHTML = '<a target="_blank" class="gbzt" href="https://www.google.com/voice"><span class="gbtb2"></span><span class="gbts">Voice</span></a>';
$(gvoiceLi).insertAfter(calendar);
var gplay = $('li.gbt:contains("Play")');
gplay.hide();
}
// load jQuery and execute the main function
addJQuery(main);
}
Voici quelques astuces, en utilisant Greasemonkey. J'écris le script très rapidement, ça pourrait être mieux mais peut-être que ça aide. Il existe un exemple pour ajouter un lien personnalisé après Google Plus et un exemple pour supprimer un lien.
Si vous avez des questions, veuillez commenter et je vais essayer d'ajouter plus de code.
function addEntry()
{
// If you want to add a link (for example to Google Books)
if(document.getElementById("gbzc"))
{
newItem = document.createElement("li");
newItem.setAttribute("class", "gbt");
newItem.innerHTML = '<a target="_blank" class="gbzt" href="http://books.google.com/"><span class="gbtb2"></span><span class="gbts">Books</span></a>';
topMenu = document.getElementById("gbzc")
// Get the total menu entries
var totalEntries = topMenu.getElementsByTagName("li").length;
// Insert a link to the one before the last
topMenu.insertBefore(newItem, topMenu.getElementsByTagName("li")[totalEntries]);
}
// If you want to remove a link (for example the first link to your Google+ profile)
if(document.getElementById("gbzc"))
{
topMenu = document.getElementById("gbzc")
// Get the first menu entry
var child = topMenu.getElementsByTagName("li")[0];
// Remove it
topMenu.removeChild(child);
}
}
setTimeout(addEntry, 0);