我想知道是否可以使用不显示其网址的<a>
代码建立链接?
换句话说,我想要一段HTML隐藏或混淆链接到的网址。
我找到了this StackOverflow question,但我更喜欢该链接适用于所有浏览器(不仅仅是Chrome),也不是弹出窗口。我已经可以访问jQuery,Bootstrap和PHP 5.5。
任何帮助都将不胜感激。
更新:我觉得这需要澄清。我不希望它以任何方式显示 - 即这是一个不能共享的链接,所以我不能简单地使用重定向,只是在它悬停时隐藏URL - 我不希望它在源代码中可见无论是。很抱歉给您带来不便:(
谢谢,
ICT
答案 0 :(得分:1)
您可以捕获闭包中的链接以隐藏它,然后在单击<a>
时将窗口指向该窗口,例如
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;
答案 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
设置)不知道他们导航到的网址。