【问题标题】:HTML onclick for A href does not workA href 的 HTML onclick 不起作用
【发布时间】:2012-01-29 07:49:20
【问题描述】:

我可以先运行 onClick 吗?除非 onClick 需要 window.location ,否则这段代码似乎不起作用?

<a onclick="click.php?add=yes&goto=http://refererurl.com/" href="http://refererurl.com/">advert</a>

这有点像谷歌,用户和搜索引擎认为链接是http://refererurl.com/ - 但是,用户首先被带到 click.php 文件,然后重定向。

【问题讨论】:

  • onclick 中的内容不是有效的 JavaScript。这可能就是它什么都不做的原因

标签: html onclick redirect href


【解决方案1】:

这个调整应该可以解决问题。

<a onclick="window.location.href='click.php?add=yes&goto=http://refererurl.com/';return false;" href="http://refererurl.com/">advert</a>

正如 Pekka 在他的评论中所说,onclick 属性的值应该是可执行的 javascript 代码。所以,我把内容改成了两条javascript语句。

  1. window.location.href = {url};
  2. return false;

第一条语句告诉浏览器转到指定的 url。

第二条语句阻止浏览器对点击的链接执行默认行为。如果不包含第二条语句,则浏览器将转到href 属性中指定的 url。

【讨论】:

  • 这行得通。我尝试了 parent.location 和 window.location 和 location.href - 在一些可能的组合中 - 我实际上想要 window.location 因为我喜欢这个。我可以在 DIV 标签中执行相同的代码吗?如果是的话怎么做?
  • 我很高兴window.location 带给你快乐。您可以对 div 执行相同的操作,只需添加具有相似值的 onclick 属性即可。
  • 我对代码的唯一问题 - 在 Firefox 中,如果我在链接上单击鼠标中键 - 它会打开 HREF 链接而不是 onClick 链接
  • @TheBlackBenzKid (@ 1st comment) 这不可能完全正确,因为location.href 只是window.location.href 的同义词。这是因为window 是我们正在访问其属性的所有周围的JavaScript 对象。 window 也是window 的一个属性,所以你也可以写成window.window.window.location.href
  • @TheBlackBenzKid 我的意思正好相反:你尝试过的组合之一(即location.href)一定有效,但我们不要吵架,算了。对于您的问题:也许stackoverflow.com/questions/3272715/…stackoverflow.com/questions/152262/… 有正确的答案。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-08-08
  • 2017-06-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-05-16
相关资源
最近更新 更多