当前位置:首页 > JavaScript

js 实现百度搜索

2026-03-01 00:09:50JavaScript

使用 JavaScript 实现百度搜索功能

可以通过以下方法实现调用百度搜索的功能,包括直接跳转和动态生成搜索 URL。

直接跳转到百度搜索

通过 window.location 直接跳转到百度搜索页面,搜索关键词通过 URL 参数传递。

function searchBaidu(keyword) {
  const encodedKeyword = encodeURIComponent(keyword);
  window.location.href = `https://www.baidu.com/s?wd=${encodedKeyword}`;
}

// 调用示例
searchBaidu("JavaScript");

动态生成搜索表单并提交

如果需要通过表单提交的方式实现搜索,可以动态创建表单并提交。

function submitBaiduSearch(keyword) {
  const form = document.createElement('form');
  form.action = 'https://www.baidu.com/s';
  form.method = 'get';
  form.target = '_blank';

  const input = document.createElement('input');
  input.type = 'hidden';
  input.name = 'wd';
  input.value = keyword;

  form.appendChild(input);
  document.body.appendChild(form);
  form.submit();
  document.body.removeChild(form);
}

// 调用示例
submitBaiduSearch("JavaScript");

通过 Fetch API 获取搜索结果(需后端支持)

由于浏览器的同源策略限制,直接通过前端 JavaScript 获取百度搜索的 HTML 内容不可行。可以通过后端服务代理请求,再将结果返回给前端。

js 实现百度搜索

async function fetchBaiduResults(keyword) {
  const response = await fetch(`/api/baidu-proxy?q=${encodeURIComponent(keyword)}`);
  const data = await response.text();
  console.log(data); // 处理返回的搜索结果
}

// 调用示例
fetchBaiduResults("JavaScript");

注意事项

  • 直接跳转或表单提交会离开当前页面,确保用户操作预期。
  • 动态生成表单适用于需要在新标签页打开搜索结果的场景。
  • 如果需要解析搜索结果,需通过后端服务处理,避免跨域问题。

标签: 百度搜索js
分享给朋友:

相关文章

js实现倒计时

js实现倒计时

实现倒计时的基本方法 使用 JavaScript 实现倒计时功能可以通过 setInterval 或 setTimeout 结合日期计算来完成。以下是几种常见的实现方式: 使用 setInterva…

js 实现链表

js 实现链表

链表的基本概念 链表是一种线性数据结构,由一系列节点组成,每个节点包含数据和指向下一个节点的指针。与数组不同,链表在内存中是非连续存储的,插入和删除操作效率较高。 链表的实现 在 JavaScrip…

js实现目录

js实现目录

实现目录的基本思路 在JavaScript中实现目录功能通常涉及以下几个核心步骤:解析文档中的标题元素(如h1-h6),动态生成目录结构,并添加交互逻辑(如点击跳转)。以下是具体实现方法: 解析标题…

js实现跑马灯

js实现跑马灯

实现跑马灯效果 使用HTML和JavaScript可以轻松实现跑马灯效果。以下是两种常见的实现方式: HTML结构 <div id="marquee"> <span>…

js图片轮播的实现

js图片轮播的实现

基础图片轮播实现 使用HTML、CSS和JavaScript实现一个简单的图片轮播效果。HTML部分定义轮播容器和图片,CSS负责样式和过渡效果,JavaScript处理逻辑。 <div cl…

js实现定位

js实现定位

使用Geolocation API获取当前位置 在JavaScript中,可以通过浏览器内置的Geolocation API获取用户的地理位置信息。该API需要用户授权才能访问位置数据。 if (n…