Как добавить плагин поиска по сайту в стандартную строку поиска? Если такое возможно ...

Add to Search Bar

alla_ пишет

Спасибо, только это не совсем то. Тут надо чтобы поиск уже был на странице, и данное расширение лишь добавит его в ФФ. Но не делать же это каждый раз для каждого нового сайта, уж проще с самого сайта и поискать.

kes пишет

Но не делать же это каждый раз для каждого нового сайта, уж проще с самого сайта и поискать.

Закладка-букмарклет:

Выделить код

Код:

javascript: (function() { function _getSel(win, sels) { sels = sels || []; try { var doc = win.document; var sel = doc.selection && doc.selection.createRange && doc.selection.createRange().text || win.getSelection && win.getSelection() || doc.getSelection && doc.getSelection(); } catch(e) { return sels; } var _sel; try { var rngCnt = sel.rangeCount; if(typeof rngCnt != "number") throw 0; if(rngCnt == 0) return sels; for(var i = 0; i < rngCnt; i++) { _sel = sel.getRangeAt(i).toString(); if(_sel) sels.push(_sel); } } catch(e) { _sel = sel.toString(); if(_sel) sels.push(sel.toString()); } return sels; } function getSel(win, sels) { win = win || window; sels = _getSel(win, sels || []); for(var i = 0, len = win.frames.length; i < len; i++) sels = _getSel(win.frames[i], sels || []); return sels; } var sel = getSel().join(" "); var q = prompt("Google: поиск по сайту", sel) || ""; q = q.replace(/^\s+|\s+$/, ""); if(q) window.open("http://www.google.ru/search?as_q=" + encodeURIComponent(q) + "&as_sitesearch=" + encodeURIComponent(location.host)) })();

Ищет в Гугле по текущему домену, подхватывает выделенный на странице текст.
Можно добавить «краткое имя» («keyword») и запускать, просто набирая его в адресной строке.

Без удаления переводов строк: GoogleAdvancedSearch_prompt.js.

[UPD]
Исправил получение выделенного текста из фреймов (для фреймов с других сайтов ругалась система безопасности: «Ошибка: Permission denied to get property Window.document»).

Большое спасибо, разобрался что такое букмарклет. Сделал кнопочку на панели закладок, заработало всё нормально.