Форма для поиска в Яндексе и по сайту, и в Интернете
Разместив на страницах вашего сайта код поисковой формы, приведенный ниже, вы добавите своему ресурсу дополнительный полезный сервис — возможность полнотекстового поиска по материалам, расположенным на вашем сайте или в сети Интернет. За результатами поиска форма обращается к поисковому механизму Яндекса, поэтому пользователю становятся доступны все возможности «большого» Яндекса — поиск с учетом морфологии русского языка, развитый язык запросов и т. п.
Кроме этого, в форму встроен удобный механизм, при помощи которого текст, выделенный на странице, автоматически передается в поле запроса. Таким образом поиск по слову или словосочетанию, встреченному на странице, можно производить одной кнопкой мыши. Достаточно выделить нужное место в тексте и кликнуть по кнопке «Искать». Для размещения формы скопируйте приведенный ниже html-код и вставьте его на страницу вашего сайта.
Эту часть нужно поставить сразу после тэга <body>
<script type="text/javascript">
nN = navigator.appName;
function fsearch(str) {
if(document.fform.myradio[0].checked) {
open('http://yandex.ru/yandsearch?text=' + str + '&serverurl=' + document.location.hostname);
} else {
open('http://yandex.ru/yandsearch?text=' + str);
}
}
function MouseUpHandler(e) {
if(nN == 'Netscape' || nN == 'Opera') {
if(document.getSelection()) {
str = document.getSelection();
newstr = str.replace(/\n+/g, ' ');
str = newstr.replace(/\ +/g, ' ');
if(str.length > 100){
var i;
i = 0;
str = str.slice(0, 100);
i = str.lastIndexOf(' ');
if(i > 0){
str = str.slice(0, i);
}
}
document.fform.strf.value = str;
}
} else if(nN == 'Microsoft Internet Explorer') {
if(document.selection.createRange()) {
var range = document.selection.createRange();
var str = range.text;
}
if(str) {
str = str.replace(/\ +/g, " ");
document.fform.strf.value = str;
}
}
return true;
}
if(window.Event) {
document.captureEvents(Event.MOUSEUP);
}
document. MouseUpHandler;
</script>
Эту часть нужно поставить там, где вам нужна поисковая форма
<p>
<form method="get" name="fform" "fsearch(strf.value); return false;">
<b>Поиск</b>
<table>
<tr>
<td><input type="text" name="strf" size="15" style="font-size: 9pt" /></td>
</tr>
<tr>
<td><font size="-1"><input type="radio" name="myradio" value="0" checked id="at_site"/>
<label for="at_site">На сайте</label><br/>
<input type="radio" name="myradio" value="1" id="at_ya" />
<label for="at_ya">В Яндексе</label></font></td>
</tr>
<tr>
<td><input type="submit" value="Найти" style="font-size: 9pt"/></td>
</tr>
</table>
</form>
</p>
Пример
nN = navigator.appName; function fsearch(str) { if(document.fform.myradio[0].checked) { open('http://yandex.ru/yandsearch?text=' + str + '&serverurl=' + document.location.hostname); } else { open('http://yandex.ru/yandsearch?text=' + str); } } function MouseUpHandler(e) { if(nN == 'Netscape' || nN == 'Opera') { if(document.getSelection()) { if(frames.length) { var i; for(i = 0; i < length; i++) { str = frames.document.getSelection(); if(str) { break; } } } else { str = document.getSelection(); } newstr = str.replace(/\n+/g, ' '); str = newstr.replace(/\ +/g, ' '); if(str.length > 100){ var i; i = 0; str = str.slice(0, 100); i = str.lastIndexOf(' '); if(i > 0){ str = str.slice(0, i); } } document.fform.strf.value = str; } } else if(nN == 'Microsoft Internet Explorer') { if(document.selection.createRange()) { var range = document.selection.createRange(); var str = range.text; } if(str) { str = str.replace(/\ +/g, " "); document.fform.strf.value = str; } } return true; } if(window.Event) { document.captureEvents(Event.MOUSEUP); } document. MouseUpHandler;
Поиск| На сайте В Яндексе |
Выделите текст мышкой, и он автоматически попадет в форму запроса
Вы можете как угодно изменять эту форму, например, добавлять или убирать дополнительные поля. Однако вы не имеете права изменять внешний вид результатов поиска Яндекса (кроме случая использования Яндекс.XML). Все страницы должны показываться точно в таком же виде, в котором они выдаются нашим сервером.
ВНИМАНИЕ! Данная поисковая форма позволяет искать только по проиндексированным Яндексом страницам сайта. То есть для того, чтобы форма работала, ваш сайт должен быть «известен» нашей поисковой системе. Добавить сайт в поисковую базу Яндекса можно, заполнив форму Добавить URL. Достаточно указать главную страницу сайта, робот сам пройдет по всем ссылкам и проиндексирует все страницы. Обратите внимание на «Часто задаваемые вопросы». Это позволит избежать многих типичных ошибок, что ускорит процесс попадания ваших данных в базу Яндекса.











