Клуб Яндекс.Поиска для сайта

Можно ли открывать ссылку с результатов в текущем окне

Здравствуйте!

Результаты поиска открываются в текущем окне - с этим все окей, а можно ли сделать чтобы при клике на результат поиска (когда поиск идет по своему-же сайту) не открывалось новое окно а все было в текущем?

8 комментариев
Дмитрий Вульбрун
28 января 2016, 01:05

На текущий момент такой возможности нет. Как показывают исследования, подавляющему большинству пользователей удобне открывать ссылки из любых результатов поиска в отдельном окне, чтобы проще было вернуться к результатам поиска в случае, если открытая страница не удовлетворила их интересу.

Поставил Поиск.По.Сайту и тоже столкнулся с такой проблемой!

Яндекс! - тут вы не правы! Если это основной поиск Яндекса и ссылки идут на другие сайты - то тогда "да", может быть это и удобно. Но когда я делаю поиск по своему сайту - то как раз наоборот - я перехожу по своему сайту и "плодить" при каждом переходе новые страницы/вкладки - это НЕПРАВИЛЬНО. И вы это прекрасно знаете - у вас у самих в сервисах открываются ссылки в этом же окне (на сайте) в этом же сервисе. Например, когда я делаю поиск по Почте.Яндкса - все найденные письма открываются тут же, - без всяких новых всплывающих окнах. Иначе пользователи бы просто "застрелились" от обилия открывающихся окон одного сайта (Яндекс.Почта).

Сделайте и нам такую же возможность. Тем более, как программист могу сказать - я сомневаюсь, что для вас это большая проблема... Или у вас так все запутано, что вы не знаете как это сделать?

Жду с нетерпением не ответа, а новой функциональной возможности или хотя бы обнадежьте сроками - когда это будет.

Спасибо!

Дмитрий Вульбрун
28 января 2016, 01:05

Если вам необходимо это сделать уже сейчас, пока у нас в планах это не появилось), вы можете воспользоваться глобальным JS событием, которое генерится по окончании формирования выдачи.

Отследив событие, вы можете на JS распарсить выдачу, обратиться к нужным элементам (в данном случае к ссылкам - тегам ) и внести в них необходимые изменения.

Событие отслеживается так:

$(document).bind('yass.ready', function() {alert('ho-ho');});

Пока эта возможность не оформлена в виде документации, я могу вам предложить посмотреть видеозапись доклада на Я.Субботнике нашего разработчика Игоря Шевченко (http://events.yandex.ru/events/yasubbotnik/spb-jun-2013/talks/931/), который показывает на примерах, как можно это реализовывать. Если не получится, или не разберетесь, пишите, я попробую дать вам пример, как это сделать.

Очень признателен за ответ, спасибо! Проблема решена.

Мы все-таки сами не решались вносить изменения в ваш код, надеемся что не накажете нас за это :-)

Еще раз спсб!

Дмитрий, не затруднит ли всё-таки дать пример поконретнее? Я пересмотрел видео с субботника по Вашей ссылке, но не нашёл там этого решения. Спасибо.

Дмитрий Вульбрун
28 января 2016, 01:05

Пример поконкретнее, к сожалению, дать у меня не получится. Но вы можете посмотреть мастер-класс про Поиску для сайта и его кастомизацию с помощью CSS и JS: https://events.yandex.ru/events/webinars/pds_2/ - там очень много полезной информации, я думаю, это решит вашу проблему.

В общем, сделал следующим образом:

1) подключил JQuery (если ещё не подключается в шаблоне);

2) на странице выводов результатов поиска после вашего кода результатов добавил:

Всё работает. Может, кому-то пригодится)

Спасибо за наводки и в целом поиск по сайту, Дмитрий!

Код полностью для открытия ссылок из поиска по сайту в том же окне:
<script>
$(document).bind('yass.ready', function() {
console.log("loaded");
$(".b-serp-item__title-link").attr('target','_self');
});
</script>