当前位置: 首页 > news >正文

[前端] 为网站侧边栏添加搜索引擎模块

前言

最近想给我的个人网站侧边栏添加一个搜索引擎模块,可以引导用户帮助本站SEO优化(让用户可以通过点击搜索按钮完成一次对本人网站的搜索,从而实现对网站的搜索引擎优化)。
最开始,我只是想实现一个简单的百度搜索引擎模块。后来又考虑到搜索市场的多样性,加入更多搜索引擎让搜索框更有意思一些,于是决定让它随机选择百度或 Bing 进行搜索。最后甚至想同时达到优化两个搜索引擎的目的,实现一个搜索框同时打开百度和 Bing 的搜索结果页面。最终诞生了三个不同的版本,今天就来分享一下如何实现侧边栏搜索引擎模块。

效果展示

侧边栏搜索框图片


1. 百度引擎版

一个仅支持百度搜索引擎的搜索框。

<!DOCTYPE html>
<html lang="zh-CN">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>百度搜索引擎示例</title><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0-beta3/css/all.min.css"><style>:root {--theme: #44A8C7;--main: #333;--minor: #999;}.search-widget {padding: 15px;margin-bottom: 20px;max-width: 100%;}.search-widget .title {display: flex;align-items: center;font-size: 16px;color: var(--main);margin-bottom: 10px;}.search-widget .title i {font-size: 20px;margin-right: 10px;}.search-widget .title .text {font-weight: bold;}.search-widget .search-form {position: relative;border: 1px solid var(--theme);border-radius: 4px;overflow: hidden;}.search-widget .search-input {border: none;font-size: 14px;padding: 9px 8px;width: calc(100% - 80px);}.search-widget .search-submit {position: absolute;right: 2px;top: 50%;transform: translateY(-50%);border: none;background: var(--theme);color: #fff;padding: 6px 8px;cursor: pointer;border-top-right-radius: 4px;border-bottom-right-radius: 4px;}.search-widget .search-tip {font-size: 13px;color: var(--minor);margin-top: 5px;}</style>
</head>
<body><!-- 百度搜索引擎搜索框 --><section class="search-widget"><div class="title"><i class="fas fa-search"></i><span class="text">百度搜索引擎</span></div><div class="search-form"><form id="search-form" action="https://www.baidu.com/s" method="GET" target="_blank"><input class="search-input" type="text" name="wd" placeholder="Dangks' Blog" value="Dangks' Blog"><button class="search-submit" type="submit">搜索</button></form></div><div class="search-tip">🔎点击搜索,可帮助本站seo优化!</div></section>
</body>
</html>

2. 百度必应随机版

使用搜索框随机选择百度或 Bing 进行搜索。

<!DOCTYPE html>
<html lang="zh-CN">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>随机搜索引擎示例</title><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0-beta3/css/all.min.css"><style>/* 同上 */</style>
</head>
<body><!-- 随机搜索引擎搜索框 --><section class="search-widget"><div class="title"><i class="fas fa-search"></i><span class="text">随机搜索引擎</span></div><div class="search-form"><form id="search-form" action="" method="GET" target="_blank"><input class="search-input" type="text" name="query" placeholder="Dangks' Blog" value="Dangks' Blog"><button class="search-submit" type="submit">搜索</button></form></div><div class="search-tip">🔎点击搜索,可帮助本站seo优化!</div></section><script>document.getElementById('search-form').addEventListener('submit', function(event) {event.preventDefault();const queryInput = document.querySelector('.search-input');const query = queryInput.value;// 随机选择搜索引擎const engines = ['baidu', 'bing'];const randomEngine = engines[Math.floor(Math.random() * engines.length)];let searchUrl = '';if (randomEngine === 'baidu') {searchUrl = `https://www.baidu.com/s?wd=${encodeURIComponent(query)}`;} else if (randomEngine === 'bing') {searchUrl = `https://www.bing.com/search?q=${encodeURIComponent(query)}`;}window.open(searchUrl, '_blank');});</script>
</body>
</html>

3. 百度必应双重版

使用搜索框同时打开百度和 Bing 的搜索结果页面。

<!DOCTYPE html>
<html lang="zh-CN">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>多搜索引擎示例</title><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0-beta3/css/all.min.css"><style>/* 同上 */</style>
</head>
<body><!-- 多搜索引擎搜索框 --><section class="search-widget"><div class="title"><i class="fas fa-search"></i><span class="text">多搜索引擎</span></div><div class="search-form"><form id="search-form" action="" method="GET" target="_blank"><input class="search-input" type="text" name="query" placeholder="Dangks' Blog" value="Dangks' Blog"><button class="search-submit" type="submit">搜索</button></form></div><div class="search-tip">🔎点击搜索,可帮助本站seo优化!</div></section><script>document.getElementById('search-form').addEventListener('submit', function(event) {event.preventDefault();const queryInput = document.querySelector('.search-input');const query = queryInput.value;// 生成百度搜索 URLconst baiduUrl = `https://www.baidu.com/s?wd=${encodeURIComponent(query)}`;// 生成 Bing 搜索 URLconst bingUrl = `https://www.bing.com/search?q=${encodeURIComponent(query)}`;// 打开百度搜索结果页面window.open(baiduUrl, '_blank');// 延迟打开 Bing 搜索结果页面setTimeout(() => {window.open(bingUrl, '_blank');}, 100); // 延迟100毫秒});</script>
</body>
</html>

⚠ 提示:“双重版” 经过测试是可用的,但通常由于浏览器的安全机制,搜索引擎快速打开多个页面可能会被拦截,可以手动设置始终允许网站的窗口弹出。如下图所示:
在这里插入图片描述


总结

通过上述三个版本的代码,我们展示了如何为网站侧边栏添加一个多功能搜索引擎模块。无论是简单的百度搜索框,还是随机选择搜索引擎,或者是同时打开多个搜索引擎的结果页面,三种可能随你选择。希望这些示例能对您有所帮助!


http://www.mrgr.cn/news/64844.html

相关文章:

  • Django ORM详解:事务与F、Q函数使用
  • Vue3的router和Vuex的学习笔记整理
  • Zabbix监控架构
  • 【设计模式系列】组合模式(十二)
  • TQRFSOC开发板47DR 100G光口UDP回环实验
  • 使用 pytorch 运行预训练模型的框架
  • 大数据新视界 -- 大数据大厂之 Impala 性能优化:数据存储分区的艺术与实践(下)(2/30)
  • C语言指针基础
  • 在linux系统中安装pygtftk软件
  • 数据结构与算法—基础篇
  • 最大报酬 (E卷)
  • Docker远程管理和应用容器远程部署
  • 基于django+Vue的在线学习平台 (含源码数据库)
  • 计算机前沿技术-人工智能算法-大语言模型-最新研究进展-2024-10-31
  • 提高交换网络可靠性之认识STP根桥与端口角色
  • CTF-pwn:libc2.27指针劫持[gyctf_2020_signin]
  • 多臂老虎机——入门强化学习
  • Qt 应用开发之 MVC 架构
  • Linux入门-基础指令和权限
  • ssm044基于java和mysql的多角色学生管理系统+jsp(论文+源码)_kaic
  • 有向无环图的拓扑排序——CSP-J1真题讲解
  • 高等数学习题练习-函数的连续性
  • 支持 Mermaid 语言预览,用通义灵码画流程图
  • ERC论文阅读(04)--DialogueCRN论文阅读笔记(2024-11-03)
  • 前端学习-盒子模型(十八)
  • 【Git】如何在 Git 中高效合并分支:完整指南