Я пытаюсь настроить панель черной навигации Google (this thing at the top) В частности, я хочу иметь кнопку, которую вы можете щелкнуть, чтобы транспонировать текущий поисковый запрос к поиску Гровешарка.Добавление записи «Grooveshark» в черную навигационную панель Google
Это в основном то же самое, что и при поиске чего-то в Google, вы нажимаете ссылку «YouTube» вверху и просматриваете все, что вы вводили на веб-сайте Google, на YouTube.
Я попросил StackOverflow получить помощь до того, когда я был новичком в программировании (также вопросы, касающиеся пользовательских скриптов), но, честно говоря, респонденты выполнили большую часть работы для меня в своих ответах, из которых я приношу свои извинения, поскольку это не было моим намерением. Из-за этого я решил сделать это самостоятельно, насколько мог, и по большей части сделал (хотя и с большим количеством Google)
Однако, теперь, когда все работает в JSFiddle, у меня возникла проблема «портировать» его на userscript и завершить его. Чтобы быть более конкретным, логотип Grooveshark даже не отображается на веб-сайте Google при использовании моего имени пользователя на предполагаемых страницах. Я даже скопировал часть источника HTML Google в JSFiddle, чтобы увидеть, будет ли он работать там, и это произошло. Я до сих пор довольно новичок в JavaScript (как в: «Я не использовал его каким-либо серьезным образом до сегодняшнего дня»), и поэтому мне потребовалось некоторое время, чтобы свести этот сценарий вместе.
Так мои вопросы таковы:
Как адаптировать этот кусок JavaScript, чтобы работать на веб-сайте Google, с помощью userscript?
Я добавил атрибут «alt» для логотипа Grooveshark, но это не отображается в моем браузере (хром), когда он появляется при просмотре источника или проверке. Почему это и как я могу это исправить?
Вот userscript я до сих пор:
// ==UserScript==
// @name GoogleGroovesharkBar
// @description Adds a 'Search on Grooveshark' option to Google's black navigation bar
// @include google.com/*
// @include google.nl/*
// @include https://www.google.com/*
// @include https://www.google.nl/*
// @include http://www.google.com/*
// @include http://www.google.nl/*
// @require http://code.jquery.com/jquery-1.10.1.min.js
//by Soullesswaffle
//Versions : 0.8
// ==/UserScript==
function addGroove(retrievedText) {
var bar = document.getElementById("gbzc");
var grooveyImage = document.createElement("img");
var link = document.createElement("a");
var listy = document.createElement("li");
grooveyImage.src = "http://cdn.androidpolice.com/wp-content/uploads/2012/08/nexusae0_146.png";
grooveyImage.style.height = "28px";
//grooveyImage.alt doesn't display in chrome for me, but when inspecting the element the alt attribute is present and correct.
if (retrievedText === "") {
link.href = "http://grooveshark.com";
grooveyImage.alt = "Grooveshark";
} else {
link.href = "http://grooveshark.com/#!/search?q=" + retrievedText;
grooveyImage.alt = "Search for '" + retrievedText + "' on Grooveshark";
}
//Nest and display everything
link.appendChild(grooveyImage);
listy.appendChild(link);
listy.id = "grvshrkbtn";
if (!document.getElementById("grvshrkbtn")) {
bar.appendChild(listy);
} else {
bar.replaceChild(listy, document.getElementById("grvshrkbtn"));
}
}
//Initialize
$(document).ready(function() {
addGroove(document.getElementById("gbqfq").value);
});
//Watch textfield for changes
$("#gbqfq").bind("input", function() {
addGroove($(this).val());
});
Заранее спасибо!
Спасибо, я действительно запутался «alt» с «title», так как мне нужна всплывающая подсказка. Я также сделал так, как вам было предложено, и: 1. Установил Tampermonkey, 2. Изменен блок метаданных и 3. Изменен «alt» в «title» в моем скрипте. Я также перезапустил хром после установки Tampermonkey на всякий случай. К сожалению, сценарий, похоже, не хочет работать. Когда я посещаю Google по включенным URL-адресам, логотип Grooveshark не отображается, и когда я нажимаю значок Tampermonkey, он говорит, что никаких пользовательских скриптов не работает ... Возможно ли, что я испортил входящие предложения? – mickdekkers
Да, это возможно. Я просто подтвердил, что он работает с Chrome 27.0.1453.116 m и TM 3.1.3440 и основным английским сайтом ('http: // www.google.com/'). Вставьте свой точный скрипт и URL-адрес, где он не работает. BTW, первые 2 строки '@ include' являются недопустимыми, но они не нарушат сценарий. –
У нас такая же версия Chrome, но моя TM - версия 3.2.3467. Мой точный сценарий: ** http: //pastebin.com/hQiSZuWE** URL-адрес Я использую: ** https: //www.google.nl/** (протокол https) И только чтобы быть ясным, TM говорит, что скрипты не запущены. – mickdekkers