实现「I am feeling lucky」按钮:点击跳转至搜索结果首页
实现「I am feeling lucky」一键跳转至首个搜索结果的简便方案
你的需求是点击按钮直接跳转到搜索结果的第一个页面,确实存在比绑定点击函数更简便的实现方式——无需编写任何JavaScript代码,利用Google搜索的原生参数和表单提交特性就能搞定。
最简无JS实现方案
Google搜索支持通过btnI这个URL参数触发「手气不错」功能,你只需要修改按钮的属性即可:
将原代码中的:
<input id ="luck" type="button" value="I am feeling lucky">
替换为:
<input id="luck" type="submit" name="btnI" value="I am feeling lucky">
原理说明
- 把
type="button"改为type="submit",让这个按钮成为表单的提交按钮 - 添加
name="btnI",Google服务器识别到该参数后,会直接跳转到搜索关键词对应的首个结果页面 - 表单会自动携带搜索框的
q参数(即用户输入的关键词)一起提交,无需额外处理
完整修改后的代码
<!DOCTYPE html> <html lang="en"> <head> <title>Search</title> <link rel="stylesheet" href="style.css"> </head> <body > <form class="bar" action="https://www.google.com/search"> <input class="search" type="text" name="q"> <input id ="search" type="submit" value="Google Search"> <input id="luck" type="submit" name="btnI" value="I am feeling lucky"> </form> <ul id="links"> <li><a href="imagesearch.html">Image Search </a></li> <br> <li><a href="advancedsearch.html">Advanced Search </a></li> </ul> </body> </html>
可选:JavaScript实现方式(如果需要)
如果坚持要用绑定点击函数的方式,也可以这么写,但显然不如上面的方案简洁:
document.getElementById('luck').addEventListener('click', function() { const searchQuery = document.querySelector('.search').value; if (searchQuery) { window.location.href = `https://www.google.com/search?q=${encodeURIComponent(searchQuery)}&btnI`; } });
内容的提问来源于stack exchange,提问作者Stromtropper
相关产品推荐
相关产品推荐

