Нужно чтобы этот скрипт не выдавал alert("Ничего не найдено, проверьте правильность ввода!"), когда введено 2 и более слов.
var lastResFind=""; // последний удачный результат
var copy_page=""; // копия страницы в ихсодном виде
function TrimStr(s) {
s = s.replace( /^\s+/g, '');
return s.replace( /\s+$/g, '');
}
function FindOnPage(inputId) {//ищет текст на странице, в параметр передается ID поля для ввода
var obj = window.document.getElementById(inputId);
var textToFind;
if (obj) {//проверка на существование элемента
textToFind = TrimStr(obj.value);//обрезаем пробелы
} else {
alert("Введенная фраза не найдена");
return;
}
if (textToFind == "") {
alert("Вы ничего не ввели");
return;
}
if (textToFind.length < 2 ) {
alert("Поиск не может быть настолько коротким. Пожалуйста, введите значение длиннее 1 символа");
return;
}
if( !/[A-Z]/i.test(textToFind)) //проверка на наличие латиницы и запросов, "ломающих" стиль страницы
{
if(/[а-яА-Я]/i.test(textToFind)){
//все хорошо - пускаем дальше
}
else{alert("Ничего не найдено, проверьте правильность ввода!");
return;}
}
else{alert("Ничего не найдено, проверьте правильность ввода!");
return;}
if(copy_page.length>0)
document.body.innerHTML=copy_page;
else copy_page=document.body.innerHTML;
document.body.innerHTML = document.body.innerHTML.replace(eval("/name="+lastResFind+"/gi")," ");//стираем предыдущие якори для скрола
document.body.innerHTML = document.body.innerHTML.replace(eval("/"+textToFind+"/gi"),"<a name="+textToFind+" style='border-bottom: 3px solid #ff0000; padding-top: 100px; font-size:15px'>"+textToFind+"</a>")//Заменяем найденный текст ссылками с якорем;
if(document.getElementsByName(textToFind).length == "0"){
alert("Ничего не найдено, проверьте правильность ввода!");
return;
}
lastResFind=textToFind; // сохраняем фразу для поиска, чтобы в дальнейшем по ней стереть все ссылки
window.location = '#'+textToFind;//перемещаем скрол к последнему найденному совпадению
}
Сборка персонального компьютера от Artline: умный выбор для современных пользователей