How to hide link information at the bottom left/right of the browser on hover

对着背影说爱祢 提交于 2019-12-18 16:22:53

问题


How can I create a link that doesn't show its information at the bottom left or right (this depends on the link's position) when you hovering a hyperlink? Lets say that we have a link like this:

 <a href="/users">Users</a>

and we want to hide its information or more precisely its hyperlink information that's displayed at the bottom left corner of the browser, like the example on the image below:

Now, I know this is possible because Stack Exchange network sites itself uses this for the "Welcome Banner" displayed on the front page for the very first time you visit each site.

If you hover any of the links:

  • Anybody can ask a question

  • Anybody can answer

  • The best answers are voted up and rise to the top

You'll see that no hyperlink information is displayed. Check out image below to see "Welcome Banner"


回答1:


It cannot be done with pure html and css. You would have to use javascript for this. Showing the link of an anchor tag is just how most browsers work. Also the user expects to be able to see where he will be redirected.

But it can be done: you can avoid using an anchor tag. Then have another attribute hold the href - like "data-href". Then bind a click event on the a tag that redirects based on this attribute.

I would however, not do this - as I am uncertain if crawlers would see the link.

This is how it can be done, but note that snippets cannot redirect outside SO :)

var aTags = document.querySelectorAll('span[data-href]');

for(var i = 0; i < aTags.length; i++){
    var aTag = aTags[i];
    aTag.addEventListener('click', function(e){
        var ele = e.target;
        window.location.replace(ele.getAttribute('data-href'));
    });    
}
span[data-href]{
    cursor:pointer;
}
<span data-href="http://www.google.com">test</span>



回答2:


After digging even more deeper, I've found a more simpler and easier solution for it on this w3schools article and also with the help of this question in SO I could manage it to open on a new window:

<button id="anchorID" >Go to page</button>
$("#anchorID").click(function() {
    window.open(
    'http://www.w3schools.com',
    '_blank' // <- This makes it open in a new window.
    );
});

Jsfiddle live example: http://jsfiddle.net/6sLzghhm/




回答3:


The stackoverflows Anybody can ask a question-Link is not a hyperlink. Its a HTML Element (in this case a li-Element):

<li id="q">Anybody can ask a question
</li>

with the CSS cursor: pointer; and a click-Eventlistener.




回答4:


Remove the href="whatever" from the link and open link by calling a function. This completely removes the link preview on the bottom left of the page.

HTML-

<a (click)="openUrl('https://google.com')">

JS-

  openUrl(url: string): void {
    window.open(url, '_blank');
  }


来源:https://stackoverflow.com/questions/30410748/how-to-hide-link-information-at-the-bottom-left-right-of-the-browser-on-hover

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!