href="javascript:;" 没直接写地址 有什么好处?
时间:03-19
作者:
使用 href="javascript:;" 而不是直接写链接地址(如 href="http://www.888.vip")有几个潜在的好处和原因:1. 防止页面跳转 如果直接写 href="http://www.888.vip",点击链接后,当
使用 href="javascript:;"
而不是直接写链接地址(如 href="http://www.888.vip"
)有几个潜在的好处和原因:
1. 防止页面跳转
-
如果直接写
href="http://www.888.vip"
,点击链接后,当前页面会直接跳转到目标地址,用户会离开当前页面。 -
使用
href="javascript:;"
可以阻止默认的跳转行为,让页面保持在当前状态,同时通过onclick
事件来控制跳转逻辑(比如在新标签页打开链接)。
2. 更灵活的控制
-
通过
onclick
事件,开发者可以添加更多的逻辑。比如:-
在新标签页打开链接(
window.open
)。 -
先执行一些其他操作(如弹窗提示、记录用户点击行为等),再决定是否跳转。
-
-
如果直接写
href
,这些额外的逻辑就难以实现。
3. 避免SEO影响
-
如果直接写
href="http://www.888.vip"
,即使加了rel="nofollow"
,搜索引擎仍然会抓取这个链接(虽然不会传递权重)。 -
使用
href="javascript:;"
可以完全避免搜索引擎抓取这个链接,因为javascript:;
不是一个有效的URL。
4. 防止误操作
-
如果用户右键链接选择“在新标签页打开”或“在新窗口打开”,直接写
href
会导致页面直接跳转,可能不符合预期。 -
使用
javascript:;
可以确保所有点击行为都通过onclick
事件统一处理,避免意外行为。
5. 兼容性
-
有些浏览器或环境可能会对直接写
href
的链接进行预加载或预解析,而javascript:;
可以避免这种额外的网络请求。
总结:
使用 href="javascript:;"
的主要目的是阻止默认的跳转行为,同时通过 onclick
事件实现更灵活的跳转逻辑。这种做法在广告链接、需要额外操作的场景中非常常见。