Я использую Chrome, и я хочу изменить ссылки на панели, но я не знаю как. Это может быть сценарий Greasemonkey, но я не знаю, как его написать.
Я использую Chrome, и я хочу изменить ссылки на панели, но я не знаю как. Это может быть сценарий Greasemonkey, но я не знаю, как его написать.
Ответы:
Пользовательский сценарий «Переупорядочить строку меню Google Apps» должен работать очень хорошо для вас.
Это выглядит довольно просто, чтобы добавить или переместить элементы, как вы хотите. Все, что делает скрипт, это удаляет текущие элементы списка и заменяет их новыми.
Таким образом, чтобы добавить Документы Google в список ссылок, вы должны добавить:
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>';
Просто или ссылка на полный текст пользователя выглядит следующим образом:
// ==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();
Я сделал пользовательский скрипт для Chrome, который использует jQuery для перемещения ссылок Gmail и Календаря сразу после Google+. Он использует этот код моего коллеги tghw, чтобы добавить jQuery на страницу. Обновление: эта версия также добавляет голосовую ссылку 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);
}
Здесь пара подсказок, используя Greasemonkey. Я пишу сценарий очень быстро, это можно сделать лучше, но, возможно, это поможет. Есть пример, как добавить пользовательскую ссылку после Google More, и пример, как удалить ссылку.
Если у вас есть вопросы, пожалуйста, прокомментируйте, и я постараюсь добавить больше кода.
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);