41

Re: Способы "закрытия" ссылок через javascript

lenivo, этот атрибут ввели именно в html5 для удобство создания своих атрибутов.

42 (16.01.2013 16:24 отредактировано Vanchik)

Re: Способы "закрытия" ссылок через javascript

Кто сможет реализовать сиё на дле для внутренних ссылок? Не бесплатно! neutral

43

Re: Способы "закрытия" ссылок через javascript

Интересная тема. Если в скрипте

$('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, подскажите пожалуйста.

44

Re: Способы "закрытия" ссылок через javascript

// Псевдо-ссылки
    // Внутренние
    $('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

45

Re: Способы "закрытия" ссылок через javascript

ПафНутиЙ, спасибо. Попробую еще этот вариант, html5 у меня только в проекте, а так вроде для меня попроще, и валидность хочется...

<a href="#" class="link" rel="http://goo.gl">внешняя ссылка</a>
$('a.link').click(function(){window.open($(this).attr("rel"));return false;});

46

Re: Способы "закрытия" ссылок через javascript

Здравствуйте, помогите пожалуйста прикрутить этот скрипт к 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>

47

Re: Способы "закрытия" ссылок через javascript

С закрытием ссылок более ли менее понятно.
А вот как закрыт в яву кусок кода? (например какой-нибудь div)

48

Re: Способы "закрытия" ссылок через javascript

ruslan_fd, Статичный кусок кода закрыть очень просто, динамический уже сложнее.
В WordPress и то и другое делается просто, а вот в DLE я знаю как сделать только со статичным блоком.
Когда нибудь расскажу smile
Хотя ты можешь и сам догадаться - у Димы dimox'а есть пост про это, его можно адаптировать...

49

Re: Способы "закрытия" ссылок через javascript

Александр, возник вопрос по третьему способу скрытия ссылок. Я его поставил, все работает, но при клике ссылка открывается в новом окне, мне же необходимо скрыть внутренние ссылки и соответственно чтобы открытие страницы происходило в том же окне. Прочитал все комментарии в блоге и данную ветку, но не нашел решения. В ряде случаев люди заменяют 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>

50

Re: Способы "закрытия" ссылок через javascript

seotrafik пишет:

Александр, возник вопрос по третьему способу скрытия ссылок.

Попробуй другие варианты, например, 4 и 5.

51

Re: Способы "закрытия" ссылок через javascript

со всеми ссылками практически разобрался, осталось исправить спидбар. насколько  я понимаю необходимо править вот этот код в 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 .= " &raquo; " . get_categories ( intval($category_id) );
    elseif ($do == 'tags') {
        
        if ($config['allow_alt_url'] == "yes") $s_navigation .= " &raquo; <a href=\"" . $config['http_home_url'] . "tags/\">" . $lang['tag_cloud'] . "</a> &raquo; " . $tag;
        else $s_navigation .= " &raquo; <a href=\"?do=tags\">" . $lang['tag_cloud'] . "</a> &raquo; " . $tag;

    } elseif ($nam_e) $s_navigation .= " &raquo; " . $nam_e;

    if ($titl_e) $s_navigation .= " &raquo; " . $titl_e;
    
    $tpl->load_template ( 'speedbar.tpl' );
    $tpl->set ( '{speedbar}', '<span id=\'dle-speedbar\'>' . stripslashes ( $s_navigation ) . '</span>' );
    $tpl->compile ( 'speedbar' );
    $tpl->clear ();

}

но тут я немного подзавис, прошу помощи, подскажите как скрыть ссылки в спидбаре.

52

Re: Способы "закрытия" ссылок через javascript

seotrafik пишет:

осталось исправить спидбар

Спидбар то не стоит скрывать...
Но если ты решил все же скрыть, то в чем проблема, где затык?
Часть спидбара еще находится в файле /engine/modules/functions.php
Вообще глянь статью про микроразметку https://alaev.info/blog/post/4160 только вместо микроразметки ты свои коды для скрытия сделаешь.

53

Re: Способы "закрытия" ссылок через javascript

admin пишет:

Спидбар то не стоит скрывать...

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

54

Re: Способы "закрытия" ссылок через javascript

seotrafik пишет:

с каждой фуллньюс идет ссылка на категорию и главную, а это не есть хорошо.

Почему это вдруг стало нехорошо?

55

Re: Способы "закрытия" ссылок через javascript

admin пишет:

Почему это вдруг стало нехорошо?

честно говоря я не убежден в этом на 100%, так как недостаточно собственного опыта, но в сети на эту тему много "литературных трудов" написано, часть из них считает любые исходящие внутренние ссылки из фулньюс большим злом ворующим вес страницы, другие же наоборот не видят чего-то особо страшного в этом.

56

Re: Способы "закрытия" ссылок через javascript

seotrafik пишет:

много "литературных трудов" написано

Ключевое тут - слово "литературных".
По своему опыту скажу, что даже полное сокрытие сайдбара на сайте никак не повлияло ни на что. А ты про две ссылочки говоришь... Это мой личный опыт.

57

Re: Способы "закрытия" ссылок через javascript

admin пишет:

про две ссылочки говоришь

но это по две ссылки с каждой новости...

настроил спидбар по твоим рекомендациям, посмотрим как будет.

58

Re: Способы "закрытия" ссылок через javascript

Вы могли бы меня носом ткнуть, очень надо!
Я статью прочитал 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 раза тему перечитал, не могу понять, где я ошибаюсь.
Может еще нужно какие то файлы или библиотеки создавать или подключать, я про это ничего не знаю, и мне кажется, что это на столько просто и все тут про это знаю, что даже вопрос не поднимался такой smile А я вообще полный ноль и самых азов не знаю.
Помогите пожалуйста, что еще надо сделать помимо установки ссылки и кода скрипта в HEAD?

59

Re: Способы "закрытия" ссылок через javascript

Lehahaha пишет:

Потом в шаблоне сайта между тегами HEAD поставил код всех скриптов:

Попробуй поставить перед закрытием </body>, должно получится.

60

Re: Способы "закрытия" ссылок через javascript

Lehahaha, Удостоверься, что библиотека jQuery подключена.