// ==UserScript== // @id google_search // @name google_search // @version 1.0 // @namespace // @author // @description // @include *google.ru/search* // @require http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js // @run-at document-end // ==/UserScript== // [1] Оборачиваем скрипт в замыкание, для кроссбраузерности (opera, ie) (function (window, undefined) { // [2] нормализуем window var w; if (typeof unsafeWindow != undefined) { w = unsafeWindow } else { w = window; } // В юзерскрипты можно вставлять практически любые javascript-библиотеки. // Код библиотеки копируется прямо в юзерскрипт. // При подключении библиотеки нужно передать w в качестве параметра окна window // Пример: подключение jquery.min.js // (function(a,b){function ci(a) ... a.jQuery=a.$=d})(w); // [3] не запускаем скрипт во фреймах // без этого условия скрипт будет запускаться несколько раз на странице с фреймами if (w.self != w.top) { return; } // Получит параметр URL по его имени var byName = $.getUrlVar('name'); $.extend({ getUrlVars: function(){ var vars = [], hash; var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&'); for(var i = 0; i < hashes.length; i++) { hash = hashes[i].split('='); vars.push(hash[0]); vars[hash[0]] = hash[1]; } return vars; }, getUrlVar: function(name){ return $.getUrlVars()[name]; } }); w.numserpitem = 0; // глобальный - сколько прибавить к началу отсчета $('body').on('mousemove.myclick', function() { if( $(".numserpitem", this).length ) return false; var mylink = $('div#res div#search div#rso div.g h3.r a'); if($.getUrlVar('start')) { w.numserpitem = mylink.length + parseInt( $.getUrlVar('start') ); } // Теперь добавим mylink.each(function(i) { i = i+1; // так как с 0 начинается - а мне надо с 1 i = i + w.numserpitem; $(this).parents('h3').prepend('' + i + '.'); }); w.numserpitem = 0; // глобальный - cбросили }); $('body').trigger('mousemove.myclick'); })(window);