【问题标题】:When is "javascript: ..." needed?什么时候需要“javascript: ...”?
【发布时间】:2011-08-18 02:25:13
【问题描述】:

真的需要javascript: 前缀吗?我知道你应该以不显眼的 JavaScript 为目标,但在什么情况下如果它不存在会破坏?

【问题讨论】:

  • @Demian:高度相关,但我不确定它们是否“完全”重复。
  • @Demian,感谢您提供的链接,有趣的是它可能只是 onclick/事件处理程序定义中的一个简单标签。
  • @tomalak:是的,不确定 - 想将 OP 指向类似线程上预先存在的答案 :)

标签: javascript


【解决方案1】:

如果您在同一页面上还有 VBS 例程,即使在 onclick 情况下也需要它。

【讨论】:

    【解决方案2】:

    如果您将 Javascript 代码编码为 URI,例如在 <a> 标记的 href 属性中,它们是“需要的”。

    They're bad practice, though.

    【讨论】:

      【解决方案3】:

      那个“前缀”只用在 html 锚 () 的 href 属性中。实际上从来不需要它,因为您也可以定义一个单击事件处理程序。

      【讨论】:

        【解决方案4】:

        如果您将 JavaScript 代码放入 ahref 属性或其他接受 URL 的属性中,则浏览器需要检测它是 JS。如果您将它与 onclick 或其他已经需要 JS 代码的属性一起使用,则没有必要(甚至可能不起作用)。

        【讨论】:

          【解决方案5】:

          javascript: 是一个 URI 方案。

          需要在 href="" 属性或浏览器地址栏中创建运行 Javascript 的 URI。
          永远不会出现javascript: 是可选的情况。

          最佳实践表明,应尽可能避免使用 javascript: URI,以支持 click 处理程序,因此不赞成使用它。

          但是,在某些情况下,别无选择。例如,书签只能使用javascript: 创建。

          【讨论】:

          • 那么这是否意味着在onclick属性中它们也是必须的?
          • @Flipper:。它在onclick 中工作的唯一原因是它恰好是有效的Javascript 语法(goto 标签)。 onclick 不是 URI。 stackoverflow.com/questions/372159/…
          猜你喜欢
          • 1970-01-01
          • 2012-09-16
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2018-12-10
          • 2010-12-29
          • 2017-07-13
          • 2012-08-21
          相关资源
          最近更新 更多