本文概述
- javascript:void(0)
- href =http://www.srcmini.com/” #”
- 结论与建议
<
a href="http://www.srcmini.com/#" onclick="return false;
">
Hey<
/a>
<
!-- Or -->
<
a href="http://www.srcmini.com/#" id="link">
Hey<
/a>
<
script>
document.getElementById("link").addEventListener("click", function(){return false;
}, false);
<
/script>
【我应该使用’ #’ 还是’ javascript(void(0); ’ 在我的空链接的href属性上)】而且, 如果你改用javascript:void, 则不必像前面所说的那样在click事件上返回false, void(0)是可能的最小脚本, 其结果为未定义, 即:
<
a href="javascript:void(0);
">
Hey<
/a>
与使用href =http://www.srcmini.com/” #” 相同的效果, 更小, 更清晰。
javascript:void(0)使用javascript:时, 在导航中, 已执行脚本的返回值(如果有)将成为浏览器中显示的新文档的内容。 JavaScript中的void运算符使表达式之后的返回值返回undefined, 从而阻止了此操作的发生。
你之所以要使用链接的href这样做是因为, 通常, 一个javascript:URL会将浏览器重定向到评估该JavaScript结果的纯文本版本。但是, 如果结果不确定, 则浏览器将停留在同一页面上。 void(0)只是可能的最小脚本, 其评估结果为未定义。
但是, javascript:void(0); 违反了启用CSP的HTTPS上的内容安全策略。内容安全策略(CSP)是安全性的附加层, 有助于检测和缓解某些类型的攻击, 包括跨站点脚本(XSS)和数据注入攻击。这些攻击可用于从数据盗窃到站点损坏或恶意软件分发的所有方面。
因此, 如果你是标准的宗教开发人员, 则可能要使用href =http://www.srcmini.com/” #” 而不是javascript:void来防止违反任何法律。
href =http://www.srcmini.com/” #” 哈希是最安全的, 以防万一你的用户禁用了Javascript。
你可以使用jQuery轻松解决文档中具有此值的所有链接:
$('a[href="http://www.srcmini.com/#"]').click(function(e) {e.preventDefault ? e.preventDefault() : e.returnValue = http://www.srcmini.com/false;
});
请注意, 你甚至可以直接在元素的onclick属性中直接返回false, 这将具有相同的效果:
<
a href="http://www.srcmini.com/#" onclick="return false;
">
Hey, i'll do nothing<
/a>
结论与建议如果你想要原始, 精确和快速, 请使用javascript:void(0)。
使用href =http://www.srcmini.com/” #” 并阻止javascript的默认事件成为标准关注者。
- 如果你的链接没有指向任何地方, 请不要使用< a> 元素。使用< span> 或其他合适的方法, 然后添加CSS(:hover)以根据需要设置样式。
- 演示内容不应与内容混在一起。这意味着没有javascript:action, 也没有onclick属性, 而是使用纯Javascript阻止默认事件。
推荐阅读
- 如何在Symfony 3.4中使用MonologBu??ndle通过电子邮件自动报告异常
- 如何在Symfony 1.4中检索当前模块的名称
- 如何摆脱PHP警告(json_encode()期望参数2长,给定字符串)
- 如何在PHP中按键对关联数组进行分组
- 如何在Symfony 1.4中通过HTTPS(HTTP over SSL)强制全局访问
- vue|vue实现短信验证码登录
- vue--获取手机短信验证码
- Android JobScheduler需要先检查是否正常工作,然后再运行其他任务
- 无法解析Android中的方法'execute()'