javascript-如何制作onclick“;窗口位置“;当用户在新窗口中打开时也可以工作

javascript-如何制作onclick“;窗口位置“;当用户在新窗口中打开时也可以工作,javascript,javascript-events,Javascript,Javascript Events,要隐藏链接的真实目的地,我使用以下代码: <a href="http://example.com" onclick="window.location='http://url-i-want-to-hit.com/'; return false;">Click me</a> 但是,如果我右键单击然后在新窗口中打开,它将转到锚href标记中指定的url。我希望它转到javascript中指定的url 有办法做到这一点吗 提前谢谢你不能这样做。右键单击使用真正的锚,而您使用

要隐藏链接的真实目的地,我使用以下代码:

<a href="http://example.com" onclick="window.location='http://url-i-want-to-hit.com/'; return false;">Click me</a>

但是,如果我右键单击然后在新窗口中打开,它将转到锚href标记中指定的url。我希望它转到javascript中指定的url

有办法做到这一点吗


提前谢谢

你不能这样做。右键单击使用真正的锚,而您使用javascript覆盖锚的单击功能。我们不是有点欺骗吗?

你不能这么做。右键单击使用真正的锚,而您使用javascript覆盖锚的单击功能。我们不是有点欺骗吗

但是,如果我右键单击然后在新窗口中打开,它将转到锚href标记中指定的url。我希望它转到javascript中指定的url

不可以,但是您可以在加载文档后(或者在链接的
onfocus
onhover
事件中)使用JS将链接href设置为隐藏的URL,尽管这感觉相当混乱和不完整


这是谷歌用来计算搜索结果页面中传出链接的方式

但是,如果我右键单击然后在新窗口中打开,它将转到锚href标记中指定的url。我希望它转到javascript中指定的url

不可以,但是您可以在加载文档后(或者在链接的
onfocus
onhover
事件中)使用JS将链接href设置为隐藏的URL,尽管这感觉相当混乱和不完整



这是谷歌用来计算搜索结果页面中传出链接的方式。

编辑:可能我不清楚……对不起。使用“#”将阻止他们在新窗口中打开其他页面。这可能不适合你的情况,我不知道你是否试图通过隐藏URL来实现SEO。除了href中的“#”之外,我的解决方案与您当前所做的几乎相同,我更喜欢将window.location包装在函数中……个人偏好

<a href="#" onclick="SendToUrl(); return false;"">Click Here</a>



函数SendToUrl(){
窗口位置http://url-i-want-to-hide.com/'
}

编辑:也许我不清楚……对不起。使用“#”将阻止他们在新窗口中打开其他页面。这可能不适合你的情况,我不知道你是否试图通过隐藏URL来实现SEO。除了href中的“#”之外,我的解决方案与您当前所做的几乎相同,我更喜欢将window.location包装在函数中……个人偏好

<a href="#" onclick="SendToUrl(); return false;"">Click Here</a>



函数SendToUrl(){
窗口位置http://url-i-want-to-hide.com/'
}

您所需要的只是一个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>


这是一个有效的例子。

您只需要一个鼠标向下处理程序来伪造它们

<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>


这是一个有效的例子。

将真实的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']");

将真实的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']");


谷歌在统计即将离任的Hitsey时也做了同样的事情——这是欺骗性的,这显然是重点。谷歌确实在他们的搜索结果上这样做。继续,进行搜索并将鼠标悬停在结果上。查看状态栏中的URL?现在右键单击链接,复制快捷方式,并将其粘贴到地址栏中。哇!谷歌在统计即将离任的Hitsey时也做了同样的事情——这是欺骗性的,这显然是重点。谷歌确实在他们的搜索结果上这样做。继续,进行搜索并将鼠标悬停在结果上。查看状态栏中的URL?现在右键单击链接,复制快捷方式,并将其粘贴到地址栏中。哇!什么是这样做的正当理由?为什么你是邪恶的?在我的辩护中,这是为了一个想要隐藏附属公司的客户url@Josh例如,你的意思是创建一个名为test.php的页面,该页面重定向到url-i-want-to-hide.com,然后链接到test.php吗?实际上,请参见我的答案。我让它工作得很好。什么是这样做的正当理由?为什么你是邪恶的?在我的辩护中,这是为了一个想要隐藏附属公司的客户url@Josh例如,你的意思是创建一个名为test.php的页面,该页面重定向到url-i-want-to-hide.com,然后链接到test.php吗?实际上,请参见我的答案。我做得很好。你能把你的例子的全部代码都贴出来吗,因为我不太明白。Thanks@Steven什么是不清楚的?这是我脑子里想不到的,所以我没有完整的示例。我们的示例使用onfocus来显示隐藏的url,这与我想要的相反。无论如何,它在firefox中不起作用。但你先说的很有趣。我该怎么做?Thanks@Steven不,我说的第一个事实上不会工作,你会看到隐藏的网址时,悬停。focus/click解决方案会以某种方式起作用(正如我所说的,Google这样做是为了隐藏他们的计数器),但可能会有一些我不太了解的怪癖。因此,请添加模糊处理程序来恢复URL。您是否可以发布示例的全部代码,因为我不太了解。Thanks@Steven什么是不清楚的?这是我脑子里想不到的,所以我没有完整的示例。我们的示例使用onfocus来显示隐藏的url,这与我想要的相反。无论如何,它在firefox中不起作用。但你先说的很有趣。我该怎么做?Thanks@Steven不,我说的第一个事实上不会工作,你会看到隐藏的网址时,悬停。focus/click解决方案会在某种程度上起作用(正如我所说的,Google这样做是为了隐藏他们的计数器),但可能会有一些我不太了解的怪癖,所以要恢复的附加模糊处理程序url@Pekka:更新答案@史蒂文:我想我不知道你为什么要用t做你想做的事