为什么在javascript中使用链接“ protocol”是不好的做法?

在1990年代,有一种将Javascript代码直接放入<a>href属性的方式,如下所示:


<a href="javascript:alert('Hello world!')">Press me!</a>

然后突然我停下来看看。它们全部被替换为:


<a href="#" onclick="alert('Hello world!')">Press me!</a>

对于仅用于触发Javascript代码且没有实际href目标的链接,为什么鼓励使用该onclick属性而不是该href属性?


摇曳的蔷薇
浏览 494回答 3
3回答

慕标5832272

几个原因:错误的代码实践:HREF标记用于指示存在指向另一个位置的超链接引用。通过对javascript函数使用相同的标签,实际上并不能将用户带到任何地方,这是不好的编程习惯。SEO问题:我认为Web爬网程序使用HREF标签来爬网整个网站并链接所有连接的部分。通过使用javascript,我们破坏了此功能。破坏了可访问性:我认为某些屏幕阅读器将无法执行javascript,并且可能在期望超链接时可能不知道如何处理javascript。用户将希望在链接悬停时在浏览器状态栏中看到一个链接,同时他们将看到诸如“ javascript:”之类的字符串,这可能会使它们混淆。您仍然处于1990年代:主流建议是将JavaScript放在单独的文件中,而不要像1990年代那样将页面的HTML与其他内容混合在一起。HTH。
打开App,查看更多内容
随时随地看视频慕课网APP