要隐藏链接的真实目的地,我使用以下代码:
<a href="http://example.com" onclick="window.location='http://url-i-want-to-hit.com/'; return false;">Click me</a>
但是,如果我右键单击然后在新窗口中打开,它将转到anchor href标记中指定的url。我希望它转到javascript中指定的url。
有办法做到这一点吗?
提前致谢
答案 0 :(得分:4)
你只需要一个mousedown处理程序来伪造它们......
<a href="http://example.com"
onmousedown="this.href2 = this.href;
this.href = 'http://url-i-want-to-hide.com/';"
onmouseout="if(this.href2) this.href = this.href2;">Test</a>
这是live demo的工作原理。
答案 1 :(得分:2)
但是,如果我右键单击然后在新窗口中打开,它将转到anchor href标记中指定的url。我希望它转到javascript中指定的url。
不,但您可以使用JS在文档加载后(或在链接的onfocus
和onhover
事件中将链接href设置为隐藏的URL,尽管感觉相当笨拙不完整的)。
<a onfocus="this.href='hidden_url'" .....>
这是Google用来计算搜索结果页面中的外发链接的方式。
答案 2 :(得分:1)
你不能这样做。右键单击使用真正的锚点,而您使用javascript覆盖锚点的单击功能。有点欺骗性不是我们吗?
答案 3 :(得分:1)
如何将真实的URL存储在数据库中并在php中调用它们?
www.yourwebsite.com/url.php?id=3
url.php //类似
$query = "SELECT * FROM `urls` WHERE `id` = " . intval($_GET['id']);
$row = mysqli_fetch_assoc($query);
header ("location: $row['url']");
答案 4 :(得分:0)
<a href="#" onclick="SendToUrl(); return false;"">Click Here</a>
<script language="javascript">
function SendToUrl(){
window.location='http://url-i-want-to-hide.com/'
}
</script>