如何与隐藏的URL建立链接

时间:2015-09-06 15:13:02

标签: javascript jquery html twitter-bootstrap hyperlink

我想知道是否可以使用不显示其网址的<a>代码建立链接?

换句话说,我想要一段HTML隐藏或混淆链接到的网址

我找到了this StackOverflow question,但我更喜欢该链接适用于所有浏览器(不仅仅是Chrome),也不是弹出窗口。我已经可以访问jQuery,Bootstrap和PHP 5.5。

任何帮助都将不胜感激。

更新:我觉得这需要澄清。我不希望它以任何方式显示 - 即这是一个不能共享的链接,所以我不能简单地使用重定向,只是在它悬停时隐藏URL - 我不希望它在源代码中可见无论是。很抱歉给您带来不便:(

谢谢,

ICT

4 个答案:

答案 0 :(得分:1)

您可以捕获闭包中的链接以隐藏它,然后在单击<a>时将窗口指向该窗口,例如

&#13;
&#13;
function hideLink(anchor) {
    var href = anchor.getAttribute('href');
    anchor.removeAttribute('href');
    anchor.className += ' pseudolink';
  
    anchor.addEventListener('click', function (e) {
        e.preventDefault();
        window.location.href = href;
  });
}

window.addEventListener('load', function () {
    hideLink(
        document.getElementById('my_link')
    );
});
&#13;
.pseudolink {
    color: blue;
    cursor: pointer;
    text-decoration: underline;
}
&#13;
<a id="my_link" href="http://google.com">Hover over me</a>
&#13;
&#13;
&#13;

答案 1 :(得分:0)

你可以使用像这样的网址缩小器:https://goo.gl/

答案 2 :(得分:0)

<a data-link="some link here"></a>

$('a').on('click', () => {
    window.location.href = $(this).attr('data-link');
});

用户在悬停时不会看到该链接。

答案 3 :(得分:0)

无法完全隐藏您尝试导航到的网址。该网址必须以某种形式显示 - 例如'href' - 标记的<a>属性,以告知浏览器在哪里导航。

但是,可以通过访问您的服务器设置来屏蔽URL。使用.htaccess文件,可以从一个输入的URL重定向到另一个,同时将输入的URL保留在浏览器的地址栏中。网上有很多资料来解释如何做到这一点。

使用PHP文件中的某些逻辑简单地处理每个链接可能适合隐藏源中的链接。例如,您可以将每个链接发送到handler.php并指定要导航到哪个页面的值,即handler.php?page=1

然后

handler.php将包含以下内容:

<?php
if ($_GET['page'] == 1) header('Location: /where/you/want/to/go');
if ($_GET['page'] == 2) header('Location: /where/else/you/want/to/go');
?>

这样,用户就不会知道链接的实际位置,并且(使用.htaccess设置)不知道他们导航到的网址。