2010-11-30 3 views
2

У меня есть простой вопрос, как скрыть ссылку в строке состояния в браузере.Как я могу скрыть строку состояния в браузере?

Я пытался с этим:

<a href="http://www.sell.com/?referrer=225" 
    onMouseOver="window.status='http://www.sell.com'; 
       return true" onMouseOut="window.status=''">Click here</a> 

(Взято из учебника) Но это не сработает, если бы кто-нибудь помочь мне, я был бы очень рад! ;-)

+0

Вы можете сделать идентификатор, если вы позволите в вашей браузер. Какой у вас браузер? – 2010-11-30 14:56:05

ответ

11

Вы не можете (по крайней мере, в текущих браузерах), что хорошо. Это поможет фишинг-атакам, чтобы скрыть ссылку.

+0

Хорошо, спасибо за ваш ответ :) – 2010-11-30 15:02:57

+0

Да, вы можете сделать это с помощью javascript. См. Этот пример: http://jsbin.com/obira4/4/edit – 2010-11-30 15:12:48

+2

@Georg - на самом деле это не так, Ctrl + Click, Shift + Click и т. Д. Не работают ... это * эмулирует * щелчок, но это не то же самое. Например, средний клик по-прежнему открывает `href`, а не ваш` onclick` (хотя это зависит от браузера, я использую Chrome). – 2010-11-30 15:14:26

1

Вы можете установить текст строки состояния с помощью javascript с атрибутом window.status. Например. http://www.htmlite.com/JS017.php

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

Зачем вам нужно спрятать ссылку в строке состояния? Проблема с безопасностью, не желающая выставлять URL-адрес, может быть решена по-другому.

0

Вы можете сделать это с помощью JavaScript для вашей ссылки:

Вот how:

function goToBing() { 
    window.location.href = "http://bing.com"; 
} 

и

<a href="http://google.com" onclick="goToBing();return false;">Link to Google</a> 

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

1

Поскольку вы просите сделать это, чтобы скрыть ссылки на членство, может быть лучший способ.

более разумно перебирать все ваши ссылки (скажем, под широким селектором $("a.out"), а затем загружать и хранить свой реальный href в хранилище элементов, заменять его фиктивным (и атрибутом title, если вам нужно). Затем вы присоединяете обработчик события клика, который останавливает событие по умолчанию, считывает исходный href и задает его как location.href, эффективно маскируя ссылки на все, у которых есть js.

например код в mootools:

(function() { 
    var links = document.getElements("a.out"); 

    links.each(function(el) { 
     // save original 
     el.store("href", el.get("href")); 
     // replace it. 
     el.set("href", el.get("data-link")); 

     el.addEvents({ 
      click: function(e) { 
       e.stop(); 
       // console.log(e); 

       document.location.href = this.retrieve("href"); 
      }, 
      contextmenu: function(e) { 
       e.stop(); 
       // do something on right click so we dont get caught 
       alert("hi"); 
      } 
     }); 
    }); 
})(); 

который отлично работает на этой разметке:

<a href="http://www.energyhelpline.com/energy/rg_home.aspx?aid=107" rel="nofollow" class="out" title="Enegry savings" data-link="http://www.energyhelpline.com/">Swap Energy Provider</a><br /> 

<a href="http://www.moneysupermarket.com/link.asp?Source=MSE&Section=utils" rel="nofollow" class="out" title="Money supermarket" data-link="http://www.moneysupermarket.com/">Money Supermarket</a> 

с линией передачи данных, содержащей то, что мы покажем конечным пользователям.

1

Вот код, который будет скрыть свой оригинальный текст ссылки протектора в области строки состояния браузеров

Пожалуйста, обратите внимание: не уверен, какие браузеры работает на но прекрасно работает в IE9

<a href="javascript:void(0);" onclick="location.href='http://www.google.com';return false;">If You Put Your Mouse Over This Text You Won't See Link In Status Bar Area</a> 

Когда ты наведите указатель мыши на ссылку, все, что вы видите в строке состояния: javascript:void(0);

0

Вот способ с javascript + jQuery, который работает с нажатием клавиши ctrl, shift click, middle click и т. д. Это разрывает правый клик, но если цель - скрыть ссылку Наверное, это неважно.

Я не принимаю никакой ответственности за то, что вы делаете с этим, но я делал это в основном для удовольствия, но он выглядит довольно злым.

JS:

$(document).ready(function() { 
    $('a').each(function() { 
     var address = $(this).attr('href'); 
     var element = $(this).contents().unwrap().wrap('<div/>').parent(); 
     element.data("hrefAddress", address).addClass("link"); 

     element.click(function() {    
      var newWindow = window.open(element.data("hrefAddress"), '_blank'); 
      newWindow.focus(); 
     }); 
    }); 
});​ 

CSS:

.link { 
    color: #00f; 
    text-decoration: underline; 
    cursor: pointer; 
} 

.link:hover { 
    color: #00a; 
} 

HTML:

<div> 
    <a href="http://www.facebook.com">Facebook</a> 
    <a href="http://www.bing.com">Google</a> 
    <a href="http://www.yahoo.com">Yahoo</a> 
    <a href="http://stackoverflow.com">Stack Overflow</a> 
</div>​ 

JS Fiddle

Смежные вопросы