【问题标题】:href syntax in allowing javascript允许 javascript 中的 href 语法
【发布时间】:2013-08-19 20:53:59
【问题描述】:

我想知道是否可以将 javascript 注入到带有一些文本的 href 标记中。 现在我知道你可以做到这一点:

<a href="javascript:alert(1)">

现在,如果 href 值已经有一些文本,例如:

<a href="Hello welcome to xxxx site">

如何在引号内注入一些 javascript? 像这样的:

<a href="Hello welcome to xxxx site javascript:alert(2)">

我知道我可以开始像onmouseover="alert(1)" 这样的另一部分,但我想知道在这种情况下是否可以在 href 标记中这样做。

【问题讨论】:

  • 这样的东西符合您的需要吗?这是最好的方法,因为它使 javascript 逻辑与标记分开:http://api.jquery.com/bind/
  • @user1161625 这是最好的。
  • 抱歉,我第一次发布带有这样的迷你标记的链接...试了几次 ;)
  • @gibberish 他发布的内容与我的要求无关。
  • 啊。您的评论回复似乎说他的回答最适合您。对造成的误解深表歉意。

标签: javascript syntax href


【解决方案1】:

用途:

<a href="javascript:alert('Hello welcome to xxxx site')">

在 HREF 中使用 javascript: 实际上是不好的形式。您应该使用空锚“#”并改用onclick

更好的方法是:

<a href="#" data-text="Hello welcome to xxxx site">...</a>

...然后使用 JavaScript 连接事件处理程序并访问 HTML5 数据元素。

【讨论】:

  • 不,我问的是在我提供的情况下,是否可以在将文本从 javascript 部分中排除的同时添加 javascript。
  • 否,因为当用户点击时,浏览器会认为文本是一个 URL 并且会失败。
【解决方案2】:

这是您正在寻找的(改进的示例)吗?

<body>

    The a tag is below:<br />
    <a href="javascript:alert('Hello');window.location.href='http://google.com';alert('there');">Click here</a>

</body>

【讨论】:

  • 我指的是在 javascript: 部分之前有一些文本在 href 标记中并且仍然能够执行 javascript。
  • 在附加 js 之前,您需要为第一部分创建一个 js 命令。换句话说,将您的第一个位转换为 js 命令并将它们链接起来。
猜你喜欢
  • 1970-01-01
  • 2020-11-03
  • 2018-04-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-09-11
  • 1970-01-01
  • 2014-01-31
相关资源
最近更新 更多