AI 生成: 一个简单的浏览器扩展/网页工具,用于在浏览器中快速调用百度搜索选中的文本或输入的查询词。
This commit is contained in:
+74
@@ -0,0 +1,74 @@
|
||||
// ============================================
|
||||
// 百度搜索工具 - 核心逻辑
|
||||
// ============================================
|
||||
|
||||
// 百度搜索 URL 前缀
|
||||
const SEARCH_URL = 'https://www.baidu.com/s?wd=';
|
||||
|
||||
// DOM 元素
|
||||
const searchInput = document.getElementById('searchInput');
|
||||
const searchBtn = document.getElementById('searchBtn');
|
||||
const hotTags = document.querySelectorAll('.hot-tag');
|
||||
|
||||
/**
|
||||
* 执行搜索:打开百度搜索结果页
|
||||
* @param {string} keyword - 搜索关键词
|
||||
*/
|
||||
function doSearch(keyword) {
|
||||
const trimmed = (keyword || '').trim();
|
||||
if (!trimmed) {
|
||||
alert('请输入搜索关键词');
|
||||
searchInput.focus();
|
||||
return;
|
||||
}
|
||||
|
||||
// 使用 encodeURIComponent 编码中文和特殊字符
|
||||
const url = SEARCH_URL + encodeURIComponent(trimmed);
|
||||
|
||||
// 在新标签页打开搜索结果
|
||||
window.open(url, '_blank', 'noopener,noreferrer');
|
||||
}
|
||||
|
||||
/**
|
||||
* 从当前输入框获取关键词并搜索
|
||||
*/
|
||||
function searchFromInput() {
|
||||
doSearch(searchInput.value);
|
||||
}
|
||||
|
||||
// ============================================
|
||||
// 事件绑定
|
||||
// ============================================
|
||||
|
||||
// 点击搜索按钮
|
||||
searchBtn.addEventListener('click', searchFromInput);
|
||||
|
||||
// 输入框按回车键
|
||||
searchInput.addEventListener('keydown', (e) => {
|
||||
if (e.key === 'Enter') {
|
||||
searchFromInput();
|
||||
}
|
||||
});
|
||||
|
||||
// 热门搜索标签点击
|
||||
hotTags.forEach((tag) => {
|
||||
tag.addEventListener('click', () => {
|
||||
const word = tag.dataset.word;
|
||||
searchInput.value = word;
|
||||
doSearch(word);
|
||||
});
|
||||
});
|
||||
|
||||
// ============================================
|
||||
// 支持从 URL 参数获取查询词(如 ?q=关键词)
|
||||
// 用于浏览器扩展或外部调用
|
||||
// ============================================
|
||||
(function initFromQuery() {
|
||||
const params = new URLSearchParams(window.location.search);
|
||||
const q = params.get('q');
|
||||
if (q) {
|
||||
searchInput.value = q;
|
||||
// 自动聚焦但不自动搜索,交给用户确认
|
||||
searchInput.focus();
|
||||
}
|
||||
})();
|
||||
Reference in New Issue
Block a user