За последние 24 часа нас посетил 17141 программист и 2039 роботов. Сейчас ищут 1289 программистов ...

Ссылка не открывается нажатием колёсика мышки!

Тема в разделе "PHP для новичков", создана пользователем asprod, 19 янв 2013.

  1. asprod

    asprod Активный пользователь

    С нами с:
    23 дек 2012
    Сообщения:
    8
    Симпатии:
    0
    Друзья, а как сделать на сайте так, чтобы гости не могли открыть ссылку в новой вкладке нажатием на колёсико мышки? Можете просто дать ссылку на урок или сказать, как такая фишка называется (попробую найти сам)! Спасибо!
     
  2. Your

    Your Старожил

    С нами с:
    2 июл 2011
    Сообщения:
    4.074
    Симпатии:
    7
    Прям ссылку на уроки?) :D
    Вообще это как бы javascript.

    Можно попробовать через jquery плагин mousewheel...
     
  3. asprod

    asprod Активный пользователь

    С нами с:
    23 дек 2012
    Сообщения:
    8
    Симпатии:
    0
    Ничего нужного, к сожалению, не нашёл! А фишку эту узнал с этого сайта: http://europaplus.ru/ попробуйте открыть ссылки в новой вкладке колёсиком...не получится!
     
  4. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.129
    Симпатии:
    1.249
    Адрес:
    там-сям
    Не знаю как, а главное зачем, но точно это javascript перехватывает нажатие кнопкой.
    Если открыть страницу отключив JS, то все кнопки работают.
    гуль вообще-то много чего находит по фразе javascript intercept mouse click, только я этим не интересуюсь и по ссылкам не пошел )))
    правую кнопку еще было бы понятно - чтобы подавить контекстное меню и "сохранить картинку как". я слышал есть такая наивная защита. а зачем клик колесиком подавлять?
     
  5. Your

    Your Старожил

    С нами с:
    2 июл 2011
    Сообщения:
    4.074
    Симпатии:
    7
    А в любом случае если на ссылку нажимаете, то не предоствратите событие даже клика обычного...
    Ибо там нет проверки...

    Если делать то только так:
    Код (PHP):
    1. <script type="text/javascript">
    2.     function noWheel(event) {
    3.         event=window.event;
    4.         if(!event.which && event.button) {
    5.             event.which=event.button & 1?1:(event.button & 2?3:(event.button & 4?2:0));
    6.         }
    7.         if(event.which==2) {
    8.             return false;
    9.         }
    10.     return true;
    11.     }
    12. </script>
    13. <a href="http://microsoft.com" onclick="return noWheel(event)">
    14.     Ссылка
    15. </a>
     
  6. asprod

    asprod Активный пользователь

    С нами с:
    23 дек 2012
    Сообщения:
    8
    Симпатии:
    0
    чё-то у меня не получилось((
     
  7. Колбася

    Колбася Активный пользователь

    С нами с:
    12 дек 2011
    Сообщения:
    722
    Симпатии:
    0
    <script>код </script> ставишь выше </head>

    дальше в <body> ссыль </body></html>
     
  8. Your

    Your Старожил

    С нами с:
    2 июл 2011
    Сообщения:
    4.074
    Симпатии:
    7
    Еще так:
    Код (PHP):
    1. <!DOCTYPE html>
    2. <html>
    3. <head>
    4. </head>
    5. <body>
    6.     <a href="http://microsoft.com">
    7.         Microsoft
    8.     </a>
    9.     <script type="text/javascript">
    10.         function fixEvent(event) {
    11.             event=event || window.event;
    12.             if(!event.which && event.button) {
    13.                 event.which=event.button & 1?1:(event.button & 2?3:(event.button & 4?2:0));
    14.             }
    15.         return event;
    16.         }
    17.         document.getElementsByTagName('body')[0].getElementsByTagName('a')[0].onclick=function(event) {
    18.             if(fixEvent(event).which==2) {
    19.                 return false;
    20.             }
    21.         };
    22.     </script>
    23. </body>
    24. </html>

    Вариантов можно придумать массу =))))

    Это я к одной ссылке сделал, если ко всем тут надо циклом вогнать document.getElementsByTagName('body')[0].getElementsByTagName('a') и потом на событие вешать.
     
  9. asprod

    asprod Активный пользователь

    С нами с:
    23 дек 2012
    Сообщения:
    8
    Симпатии:
    0
    я в курсе, куда что вставлять...у меня два больших сайта своих со всякими скриптами...а с этим скриптом завис
     
  10. Your

    Your Старожил

    С нами с:
    2 июл 2011
    Сообщения:
    4.074
    Симпатии:
    7
    Что зависли, я и так все показал...
     
  11. asprod

    asprod Активный пользователь

    С нами с:
    23 дек 2012
    Сообщения:
    8
    Симпатии:
    0
    тоже не получилось...всё равно открывается в новой вкладке((
     
  12. Your

    Your Старожил

    С нами с:
    2 июл 2011
    Сообщения:
    4.074
    Симпатии:
    7
    У вас javascript вообще включен?)

    Код (PHP):
    1. <noscript>Js выключен или работает не корректно</noscript>
     
  13. asprod

    asprod Активный пользователь

    С нами с:
    23 дек 2012
    Сообщения:
    8
    Симпатии:
    0
    Конечно включен! Вот ещё один сайт с такой же фишкой: http://www.loveradio.ru/
     
  14. vikrorpert

    vikrorpert Активный пользователь

    С нами с:
    13 окт 2010
    Сообщения:
    984
    Симпатии:
    10
    хром открывает ссылки колесиком на всех указанных сайтах :D
     
  15. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    тогда не давать ссылкам адреса. подставлять его или делать переход через js только когда клик нужной кнопкой.
     
  16. Your

    Your Старожил

    С нами с:
    2 июл 2011
    Сообщения:
    4.074
    Симпатии:
    7
    Уверен на 99% что вы не верно вставляете скрипт, ибо-это пример на 1 ссылку...
    И запустив его в новом html документе у вас не будет работать колесико при клике на ссылку.