【问题标题】:HTML href=" " vs onclick="self.location.href=' ' "HTML href=" " vs onclick="self.location.href=' ' "
【发布时间】:2014-04-06 15:25:22
【问题描述】:

我遇到了这个 JS 代码:

onClick="self.location.href='http://stackoverflow.com/'"

我在我的网站中使用过它,它具有与href 属性相同的功能。

我是JS新手,对JS不太了解,但是onclick="self.location.href=''"href=""属性可能有区别。

有什么区别?

有什么好处,有什么坏处?

【问题讨论】:

  • 你不应该使用它们中的任何一个,而应该使用适当的事件处理程序。
  • 没有充分的理由使用 JS 来复制锚标记的 href 属性的自然行为。仅使用 JS 来添加超出默认导航的额外行为。
  • 您为什么需要使用其中任何一个?还是您示例中的空格是[some url]
  • 这可以防止用户通过中键在新标签页中打开。就是这样

标签: javascript html onclick href


【解决方案1】:

使用 href 标签的第一个好处是对搜索引擎。大多数搜索引擎检测到href 属性并抓取您的网站,另一件事是如果用户在浏览器中禁用了他们的javascript,self.location.href 将无法工作。但是href属性只适用于a标签,所以当你想在点击按钮时重定向用户时,你不能使用href属性作为按钮标签或输入标签不会接受href属性,所以你应该使用window.locationself.location

【讨论】:

  • 那么你是说onclick=function 实际上会在禁用 javascript 的情况下工作,并且搜索引擎会在 href 标记中跟随 javascript 吗?
  • onclick=funtion 仅在启用 javascript 时有效,搜索引擎将遵循标签上的 href 属性
  • "你不能使用 href 属性作为按钮标签或输入标签不会接受 href 属性" - 是的,但重要的是要记住你总是可以在标签之间放置按钮然后使用属性,
猜你喜欢
  • 2013-01-26
  • 1970-01-01
  • 1970-01-01
  • 2010-11-23
  • 2012-01-29
  • 1970-01-01
  • 1970-01-01
  • 2014-09-13
  • 1970-01-01
相关资源
最近更新 更多