02.08.2016, 09:26
|
Новичок на форуме
|
|
Регистрация: 02.08.2016
Сообщений: 4
|
|
Скрипт пользовательского поиска от гугл
Добрый день! Кто-нибудь из гуру javascript может подсказать решение?
Есть два скрипта пользовательского поиска от гугла:
<script>
(function() {
var cx = 'Здесь указываются идентификаторы ';
var gcse = document.createElement('script');
gcse.type = 'text/javascript';
gcse.async = true;
gcse.src = 'https://cse.google.com/cse.js?cx=' + cx;
var s = document.getElementsByTagName('script')[0];
s.parentNode.insertBefore(gcse, s);
})();
</script>
<gcse:searchresults-only></gcse:searchresults-only>
Скрипты отличаются только идентификаторами. Я хочу сделать так, чтобы после того как отработал первый скрипт и ничего не нашлось подключался второй скрипт. Но как это сделать что-бы они не конфликтовали не могу придумать.
|
|
02.08.2016, 10:33
|
Профессор
|
|
Регистрация: 08.07.2016
Сообщений: 1,332
|
|
Это не скрипт, а загрузчик. Смотри что внутри этого файла 'https://cse.google.com/cse.js?cx='. Скорее всего там (), то есть закрытый скоп и никакого интерфейса не предусмотрено. Но ты все равно посмотри, вдруг можно будет убить все элементы и ивенты, которые создаст и понавешает скрипт, лол. Ну или запускай второй в фрейме... нахер такой геморрой, перестань этого хотеть.
|
|
03.08.2016, 09:41
|
Новичок на форуме
|
|
Регистрация: 02.08.2016
Сообщений: 4
|
|
Понятно что это загрузчик, он загружает скрипт с сервера гугла и вставляет его в DOM моей страницы результатов поиска по сайту. Сейчас у меня работает так. Отрабатывает первый скрипт, если ничего не найдено открывается окно с адресом второго поиска методом window.open("https://cse.google.ru/cse/publicurl?cx=......"). Вот для чего это нужно. В пользовательском поиске от гугла можно добавить другие сайты, не только свой. Но после этого в выдаче мой сайт на последних строчках. Я хочу, чтобы он искал сначала на моем сайте и только если ничего не найдено искал на других сайтах и вставлял результаты в DOM одной и той-же html страницы.
|
|
03.08.2016, 11:33
|
Профессор
|
|
Регистрация: 08.07.2016
Сообщений: 1,332
|
|
Сообщение от Heineken
|
и только если ничего не найдено искал на других сайтах
|
Это инженерный подход, который тебя лишает денег. Коммерческий подход: если ничего не найдено выкатываешь модальное окно с мессагой вроде "Поставки этого товара/новости ожидаются в ближайшее время. Оставьте свой номер телефона и мы вам переозвоним как только появятся свежие новости" и поле для номера телефона и имейла.
Ну то есть эти поиски от гугля с яндексом, где все чужие ключевики подкатывают в поле поиска - это все херня собачья. А нормально оно будет работать только и единственно за деньги, причем за такие, каких у тебя сроду не будет.
Но самая мякотка, асобинна с тормозным яндексом - товары и новости там появляются только после убдейта, а это может быть неделя или даже больше. Мило.
Последний раз редактировалось warren buffet, 03.08.2016 в 11:38.
|
|
04.08.2016, 08:39
|
Новичок на форуме
|
|
Регистрация: 02.08.2016
Сообщений: 4
|
|
Согласен с вами, яндекс тот еще тормоз. Гугл индексирует намного быстрее, но все равно пользовательский поиск сделан через одно место. Может потому что бесплатный. У меня не интернет-магазин и не МФА, а сайт для людей. Поэтому хотел сделать это для удобства пользователей.
|
|
04.08.2016, 10:02
|
Профессор
|
|
Регистрация: 08.07.2016
Сообщений: 1,332
|
|
Теоретически для удобства людей есть слово site: чем и пользуется этот встроенный поиск тащемта. Так вот, если ты хочешь подменить гугл для свои людей, гугл будет всегда против, поэтому встроенные поиски заведомо сделаны так, чтобы народ потыкал-потыкал и пошел без посредников. Если бы API было такое как ты хочешь, этих клонов гугля было ты овер9000 и никто кроме разрабов на гугль бы не ходил. А оно им надо?
У тебя классический литературно-инженерный подход, то есть наш, интеллигентский, а гугля профит рубит. Они делают все очень правильно. Дают дохера бесплатного и позволяют многое чтобы ты поднялся, раскрутился и захотел еще больше и вот тут уже заплатил и это справедливо. А для бесплатых в перспективе проектов остается только вечное пользование бесплатным и обрезанным по яца.
|
|
04.08.2016, 10:06
|
Профессор
|
|
Регистрация: 08.07.2016
Сообщений: 1,332
|
|
Есть серверные искалки, там геморр с ними, но говорят работают неплохо. Сфинкс например.
Для своих сайтов я юзаю классический полнотекстовый поиск - для тех кто умеет искать больше и не надо, а для народа просто запускаю тот же поиск еще раз добавляя модификаторы так, чтобы уж что-то да нашлось. )))
Ну то есть к словам добавляются + и * чтобы если дятел ввел часть слова, оно вошло и чтобы все слова вошли. Семантического поиска конечно хера так сделаешь, это нужна огромная бд, которая есть только у гугля.
|
|
04.08.2016, 11:46
|
Новичок на форуме
|
|
Регистрация: 02.08.2016
Сообщений: 4
|
|
Спасибо, за подсказки. Да я кстати заметил, что если ввести часть слова он ничего не находит. В общем придется писать свой поисковик и закрывать на хрен яндекс и гугл
|
|
|
|