Re: Способы "закрытия" ссылок через javascript
lenivo, этот атрибут ввели именно в html5 для удобство создания своих атрибутов.
Сообщество читателей блога alaev.info
Не ссы! Входи или зарегистрируйся!
Форум АлаичЪ'а о SEO → Кодинг и скрипты → Способы "закрытия" ссылок через javascript
lenivo, этот атрибут ввели именно в html5 для удобство создания своих атрибутов.
Кто сможет реализовать сиё на дле для внутренних ссылок? Не бесплатно!
Интересная тема. Если в скрипте
$('a.link').click(function(){window.open($(this).data("link"));return false;});
мне нужно добавить открытие в другом окне при классе, ну предположим slink,
$('a.slink').click(function(){window.location.href=$(this).data("link"));return false;});
как соеденить эти два куска кода в один скрипт добавив условие, если стоит в ссылке link или slink... Я только начинаю учить js, подскажите пожалуйста.
// Псевдо-ссылки
// Внутренние
$('body').on('click', '[data-innerlink]', function() {
window.location.href = ($(this).data('innerlink'));
});
// Внешние
$('body').on('click', '[data-extlink]', function() {
window.open($(this).data('extlink'));
});
Юзаем у любого элемента атрибут data-extlink="http://goo.gl" или data-innerlink="http://goo.gl" и будет вам счастье))
Актуально не только для HTML5, но валидно только для html5
ПафНутиЙ, спасибо. Попробую еще этот вариант, html5 у меня только в проекте, а так вроде для меня попроще, и валидность хочется...
<a href="#" class="link" rel="http://goo.gl">внешняя ссылка</a>
$('a.link').click(function(){window.open($(this).attr("rel"));return false;});
Здравствуйте, помогите пожалуйста прикрутить этот скрипт к leech, что-бы всё что в leech заменялось на этот скрипт:
<span class="hidden-link" data-link="http://goo.gl">внешняя ссылка</span>
<script>$('.hidden-link').replaceWith(function(){return'<a href="'+$(this).data('link')+'">'+$(this).text()+'</a>';})</script>
С закрытием ссылок более ли менее понятно.
А вот как закрыт в яву кусок кода? (например какой-нибудь div)
ruslan_fd, Статичный кусок кода закрыть очень просто, динамический уже сложнее.
В WordPress и то и другое делается просто, а вот в DLE я знаю как сделать только со статичным блоком.
Когда нибудь расскажу
Хотя ты можешь и сам догадаться - у Димы dimox'а есть пост про это, его можно адаптировать...
Александр, возник вопрос по третьему способу скрытия ссылок. Я его поставил, все работает, но при клике ссылка открывается в новом окне, мне же необходимо скрыть внутренние ссылки и соответственно чтобы открытие страницы происходило в том же окне. Прочитал все комментарии в блоге и данную ветку, но не нашел решения. В ряде случаев люди заменяют window.open на window.location.href , но для третьего способа это не работает. Подскажи пожалуйста решение данной проблемы.
Код ссылки на странице:
<span class="hidden-link" data-link="http://goo.gl">внешняя ссылка</span>
Скрипт, который будет обрабатывать ссылку и открывать ее:
<script>$('.hidden-link').click(function(){window.open($(this).data('link'));return false;});</script>
Добавлено: 21.05.2013 18:32
касаемо варианта, где можно скрыть ссылку-картинку, то в том варианте классы css не работают, если они прописаны только в спане, пришлось делать так, дабы картинка была на месте class="hidden-link":
<script>$('.hidden-link').replaceWith(function(){return'<a href="'+$(this).data('link')+'" class="hidden-link" >'+$(this).html()+'</a>';})</script>
Александр, возник вопрос по третьему способу скрытия ссылок.
Попробуй другие варианты, например, 4 и 5.
со всеми ссылками практически разобрался, осталось исправить спидбар. насколько я понимаю необходимо править вот этот код в engine.php:
if ($config['speedbar'] and ! isset ( $view_template )) {
$s_navigation = "<a href=\"{$config['http_home_url']}\">" . $config['short_title'] . "</a>";
if (intval($category_id)) $s_navigation .= " » " . get_categories ( intval($category_id) );
elseif ($do == 'tags') {
if ($config['allow_alt_url'] == "yes") $s_navigation .= " » <a href=\"" . $config['http_home_url'] . "tags/\">" . $lang['tag_cloud'] . "</a> » " . $tag;
else $s_navigation .= " » <a href=\"?do=tags\">" . $lang['tag_cloud'] . "</a> » " . $tag;
} elseif ($nam_e) $s_navigation .= " » " . $nam_e;
if ($titl_e) $s_navigation .= " » " . $titl_e;
$tpl->load_template ( 'speedbar.tpl' );
$tpl->set ( '{speedbar}', '<span id=\'dle-speedbar\'>' . stripslashes ( $s_navigation ) . '</span>' );
$tpl->compile ( 'speedbar' );
$tpl->clear ();
}
но тут я немного подзавис, прошу помощи, подскажите как скрыть ссылки в спидбаре.
осталось исправить спидбар
Спидбар то не стоит скрывать...
Но если ты решил все же скрыть, то в чем проблема, где затык?
Часть спидбара еще находится в файле /engine/modules/functions.php
Вообще глянь статью про микроразметку https://alaev.info/blog/post/4160 только вместо микроразметки ты свои коды для скрытия сделаешь.
Спидбар то не стоит скрывать...
желание скрыть спидбар основано на результатах проверки сайта программой PageWeight, в результате с каждой фуллньюс идет ссылка на категорию и главную, а это не есть хорошо.
убирать совсем спидбар тоже не вариант, так как диз делался так, что в фуллньюс нет меню, а только спидбар.
за статью о крошках спасибо, видел её давно, но не придал значения. завтра почитаю.
с каждой фуллньюс идет ссылка на категорию и главную, а это не есть хорошо.
Почему это вдруг стало нехорошо?
Почему это вдруг стало нехорошо?
честно говоря я не убежден в этом на 100%, так как недостаточно собственного опыта, но в сети на эту тему много "литературных трудов" написано, часть из них считает любые исходящие внутренние ссылки из фулньюс большим злом ворующим вес страницы, другие же наоборот не видят чего-то особо страшного в этом.
много "литературных трудов" написано
Ключевое тут - слово "литературных".
По своему опыту скажу, что даже полное сокрытие сайдбара на сайте никак не повлияло ни на что. А ты про две ссылочки говоришь... Это мой личный опыт.
про две ссылочки говоришь
но это по две ссылки с каждой новости...
настроил спидбар по твоим рекомендациям, посмотрим как будет.
Вы могли бы меня носом ткнуть, очень надо!
Я статью прочитал https://alaev.info/blog/post/4042 потом эту тему на форуме.
Я взял, поставил 5 ссылок у себя на странице:
<a href="#" class="link1" data-link="http://goo.gl">внешняя ссылка</a>
<a href="#" class="link2" rel="http://goo.gl">внешняя ссылка</a>
<span class="hidden-link1" data-link="http://goo.gl">внешняя ссылка</span>
<span class="hidden-link2" data-link="http://goo.gl">внешняя ссылка</span>
<div class="hidden-link" data-link="http://goo.gl">внешняя ссылка</div>
Потом в шаблоне сайта между тегами HEAD поставил код всех скриптов:
<script>$('a.link1').click (function (){window.open ($(this).data ("link"));return false;});</script>
<script>$('a.link2').click (function (){window.open ($(this).attr ("rel"));return false;});</script>
<script>$('.hidden-link1').click (function (){window.open ($(this).data ('link'));return false;});</script>
<script>$('.hidden-link2').replaceWith (function (){return'<a href="'+$(this).data ('link')+'">'+$(this).text ()+'</a>';})</script>
<script>$('.hidden-link').click (function (){window.open ($(this).data ("link"));return false;}); </script>
И у меня не одна ссылка не работает. Больше я ничего не делал, только вставил код ссылок и код скриптов. Может еще надо что-то сделать. Я уже 3 раза тему перечитал, не могу понять, где я ошибаюсь.
Может еще нужно какие то файлы или библиотеки создавать или подключать, я про это ничего не знаю, и мне кажется, что это на столько просто и все тут про это знаю, что даже вопрос не поднимался такой А я вообще полный ноль и самых азов не знаю.
Помогите пожалуйста, что еще надо сделать помимо установки ссылки и кода скрипта в HEAD?
Потом в шаблоне сайта между тегами HEAD поставил код всех скриптов:
Попробуй поставить перед закрытием </body>, должно получится.
Lehahaha, Удостоверься, что библиотека jQuery подключена.
Форум АлаичЪ'а о SEO → Кодинг и скрипты → Способы "закрытия" ссылок через javascript
Форум работает на PunBB