给网站添加“开放搜索描述“以适配浏览器的“站点搜索“

news/2024/5/9 21:50:58/文章来源:https://blog.csdn.net/flashdelover/article/details/125419879

背景

要在一个常用网站搜索,想必大部分人会这样:

  1. 访问这个网站的的主页或者任意一个带搜索框的页面
  2. 聚焦输入框,输入关键词并Enter

而如果一个网站适配了浏览器的"站点搜索"(site search)特性,或者说添加了"开放搜索描述"(opensearch description),那么用户可以也通过以下方式进行搜索:

  1. 新建标签页,在地址栏输入站点域名(输入站点的域名前缀即可,可以按Tab键自动补全)
  2. 输入要搜索的关键词,并回车
  3. 如果这个站点实现了"搜索建议"(search-suggestions),地址栏下方还能显示出建议的关键词列表

如果你需要频繁新打开页面在一个网站搜索,使用站点搜索方式来搜索通常可以节省时间。

致Web开发者:让网站适配浏览器的"站点搜索"

以下步骤将以站点www.example.com为例,介绍如何将一个现有查单词的搜索功能集成到浏览器地址栏。

第一步:创建opensearch description文件。

例如:search.osdx,放置在站点首页旁边

<?xml version="1.0" encoding="UTF-8"?>
<OpenSearchDescription xmlns="http://a9.com/-/spec/opensearch/1.1/">
<ShortName>Word Search</ShortName>
<Image type="image/x-icon" width="16" height="16">https://example.com/favicon.ico</Image>
<Url rel="results" type="text/html" method="GET" template="https://www.example.com/search?q={searchTerms}"/>
<Url rel="suggestions" type="application/x-suggestions+json" method="GET" template="https://www.example.com/api/search-suggestions?q={searchTerms}"/>
<Url rel="self" type="application/opensearchdescription+xml" template="https://www.example.com/search.osdx" />
</OpenSearchDescription>

服务器在提供search.osdx时最好使用标准的MIME “application/opensearchdescription+xml”,因此你需要修改服务端的配置文件设置扩展名.osdx的MIME type。实在不行使用MIME "application/xml"浏览器也认,这样的话把search.osdx扩展名换成为.xml即可。

注:

  • <Url rel="suggestions" ... />可选,用于提供搜索建议
  • <Url rel="self" ... />可选,用于自动更新

第二步:【可选】实现搜索建议

在服务端实现一个REST API接口GET /api/search-suggestions,其响应的MIME type应是application/x-suggestions+json,响应体格式如下

[
"ver",
["verge","vertical"
],
["[vɜːdʒ] n. 边缘,边际 || be o...","[ˈvɜːtɪkl] adj. 垂直的,直立的..."
],
["https://www.example.com/search?q=verge&utm_source=search-suggestion","https://www.example.com/search?q=vertical&utm_source=search-suggestion"
]
]

如果要给响应体的每部分命名/加标识符,那么使用JavaScript可以这样:

let q = 'ver';
let completions = ["verge","vertical"
];
let descriptions = ["[vɜːdʒ] n. 边缘,边际 || be o...","[ˈvɜːtɪkl] adj. 垂直的,直立的..."
];
let queryURLs = ["https://www.example.com/search?q=verge&utm_source=search-suggestion","https://www.example.com/search?q=vertical&utm_source=search-suggestion"
];
let content = JSON.stringify([q,completions,descriptions,queryURLs
], null, 2);

第三步:在网站的首页添加opensearch description标记

<head>中添加<link rel="search" ...>元素,也建议给<head>添加属性profile="http://a9.com/-/spec/opensearch/1.1/"以便于浏览器自动发现。

<head profile="http://a9.com/-/spec/opensearch/1.1/"><link rel="search" type="application/opensearchdescription+xml" href="/search.osdx" title="Word Search" />

第四步:调试站点搜索

调试准备:你可以通过修改本机hosts文件来模拟线上环境,以便调试站点搜索。例如:在hosts文件中添加

127.0.0.1 www.example.com

待本地调试通过后,还原hosts文件。

在Chrome浏览器调试站点搜索

以Chrome 102为例,操作步骤如下:

  1. 访问站点首页https://www.example.com

  2. 激活https://www.example.com的站点搜索功能

    最近的Chrome浏览器对发现的站点搜索要求激活(Activate)才能用(之前则不必),在"设置"/“搜索引擎”/“管理搜索引擎和站点搜索”,在底部展开未激活的,找到www.example.com的那一行,并点击"激活"

  3. 新建标签页,输入example.com,或输入exam待自动补全提示为example.com时,按Tab键(此时地址栏左边会显示"搜索Word Search")。

  4. 键入关键词

  5. 若实现了搜索建议,则接口/api/search-suggestions会收到HTTP请求;若响应MIME/内容格式正确,则地址栏下方会显示搜索补全建议。

  6. 回车
    Chrome Site Search

在Firefox浏览器调试站点搜索

以Firefox 102为例,操作步骤与Chrome 102大致相同,不同的是:

  1. Firefox自动发现的站点搜索条目默认可用,无须手动激活
  2. Firefox默认通过单独地搜索框进行站点搜索,你需要自定义Firefox工具栏显示"搜索"。若要用地址栏进行站点搜索,则需要在“设置”中更改搜索方式。
  3. Firefox最多能显示8条补全建议,而Chrome最多显示3条
  4. 可以配置启动站点搜索的快捷关键字,例如@word

Firefox Site Search

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_865638.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Android开发时,那些相见恨晚的工具或网站!

本文来我在知乎话题Android开发时你遇到过什么相见恨晚的工具或网站&#xff1f;下的回答&#xff01; 在实际Android开发过程确实会有很多相见恨晚的工具或网站出现&#xff0c;下面是我自己的一些分享。 1、源码网站 https://github.com/googlesamples Android系统每次推出一…

用织梦创建本地网站通过Tomcat成功部署到Linux服务器详细教程(Ubuntu16.04)

用织梦创建本地网站成功部署到Linux服务器全过程详细教程&#xff08;Ubuntu16.04&#xff09; 织梦创建本地网站成功部署到Linux服务器详细教程&#xff08;Ubuntu16.04&#xff09; 本教程旨在帮助那些建网站小白如何从头搭建起本地网站并且最终上传到自己或公司的服务器上…

显示网站Alexa世界排名的代码

作者&#xff1a;佚名 转贴自&#xff1a; 苹果理想3dapple Alexa世界排名众多站长已经不会陌生了&#xff0c;今年将它炒的非常厉害&#xff0c;众多网站不论是拉广告还是做宣传都会以Alexa世界排名作为依据。因此&#xff0c;在这里西部E网&#xff08;weste.net&#xf…

关于我的个人网站(一)

这两天我中国丫头这个个人网站突然打不开了&#xff0c;空间是用的朋友的&#xff0c;大概是出什么问题了吧&#xff0c;反正也没有再去更新了&#xff0c;也没有问朋友原因&#xff0c;他也忙&#xff0c;也不能总是麻烦人家&#xff0c;关闭了就关闭了&#xff0c;早就有重新…

关于我的个人网站(二)

现在要说的就是中国丫头这个网站了&#xff0c;也是2003年九月份做的.... 点击这里进入

出来混迟早要还的-Alexa开始清算 国内作弊网站几乎全部落网

作者&#xff1a;周腥腥的博客 来源: 博客中国出来混迟早要还的,Alexa的报复行动开始了.Alexa的行动从2005年1月21日开始了......Alexa的作弊网站一个一个露出了原形.Alexa作弊最近一段时间已经成为的热门话题,作为一个相对权威排行,它肯定会尽可能的去阻止作弊,更不允许某些人…

如何在爱课程网站下载视频与课件

如何在爱课程网站下载视频与课件 如何下载视频与课件如何在MacOS中安装Python 最近要看些水声物理的东西&#xff0c;就必须掌握数学物理方法&#xff0c;可惜大学荒了这门手艺&#xff0c;只能重新啃啃书捡一捡&#xff0c;于是乎搜索了一下知乎&#xff0c;看到了如下链接&am…

提高网站访问速度的四个有效方法

通过站长工具查询能了解到&#xff0c;一些租用海外服务器的网站&#xff0c;特别是用香港服务器的网站&#xff0c;打开速度跟放在国内服务器的网站并无差异。放在海外服务器的网站&#xff0c;特别是香港服务器的网站&#xff0c;是如何做到网站速度快的&#xff1f;如果网站…

如何提高在外国网站下载软件或文件的速度

大三刚开学的时候&#xff0c;为了学习Linux操作系统&#xff0c;决定下载个Linux虚拟机&#xff0c;于是我就到了VWware-workstation官网下载&#xff0c;一看一个500M的软件下完需要一天多的时间。。。想到这就没耐心了。 大家都知道在本地的浏览器访问外国网站下载软件网速…

什么是抖音SEO?抖音SEO优化怎么做?

什么是抖音SEO&#xff1f; 抖音SEO优化怎么做&#xff1f;抖音SEOSEO是Search Engine Optimization的简写&#xff0c;中文名搜索引擎优化。抖音SEO是针对抖音搜索的优化技术&#xff0c;是指通过提升目标视频的视频质量和相关性使得目标视频符合抖音搜索的排名规则&#xff0…

SEO需要用的1000个高PR值论坛资源

SEO需要用的1000个高PR值论坛资源&#xff0c;是你提高网站权重的必备工具&#xff0c;由站长广告网收集&#xff0c;编辑。 SEO需要用的1000个高PR值论坛资源.doc

用Python爬取并分析Box Office Mojo网站2019年每日票房数据

最近在处理一些和有关电影的工作&#xff0c;需要用到一些北美电影票房数据&#xff0c;而这部分数据最权威的网站当属Box Office Mojo&#xff08;以下简称BOM&#xff09;&#xff0c;于是就上去查看了一下。估计经常关注这个网站的盆友们都知道&#xff0c;这个网站最近刚刚…

动态代理IP对seo网站运营的影响

seo搜索引擎优化&#xff0c;是网站优化的基本操作&#xff0c;利用seo的优化手段&#xff0c;我们网站的关键词就会逐步的向前递增&#xff0c;从而增加网站的权重&#xff0c;引入流量。但是当我们网站的关键词排名靠后&#xff0c;但是使用正常的优化手段在短时间内没有办法…

网络编程–一起来做网站客户端

【iPhone】网络编程–一起来做网站客户端&#xff08;一&#xff09; 发表于 2012 年 3 月 31 日 由 Apan 最近几天&#xff0c;一直在学习网络编程方面&#xff0c;我觉得这是移动开发必须了解的知识吧 在实践中学习&#xff0c;才是最好的方法 于是就决定为公司OA系统做一个…

使用IntelliJ IDEA开发SpringMVC网站(二)框架配置

华为软件开发云5月大聚惠&#xff0c;8大服务限时免费&#xff0c;拼手气赢华为Mate9&#xff01;>>> 摘要: 讲解如何配置SpringMVC框架xml&#xff0c;以及如何在Tomcat中运行 转载请注明出处&#xff1a;Gaussic&#xff08;一个致力于AI研究却不得不兼顾项目的研…

使用IntelliJ IDEA开发SpringMVC网站(二)框架配置

华为软件开发云5月大聚惠&#xff0c;8大服务限时免费&#xff0c;拼手气赢华为Mate9&#xff01;>>> 摘要: 讲解如何配置SpringMVC框架xml&#xff0c;以及如何在Tomcat中运行 转载请注明出处&#xff1a;Gaussic&#xff08;一个致力于AI研究却不得不兼顾项目的研…

外国网站摘录的一个关于Jsoup的简单实例

jsoup HTML parser hello world examples By mkyong | January 16, 2013 | Last Updated : October 9, 2013 Jsoup, a HTML parser, its “jquery-like” and “regex” selector syntax is very easy to use and flexible enough to get whatever you want. Below are three e…

Mac - MAMP - WordPress - 搭建 php+MySQL 网站开发环境

文章目录 下载MAMPWordpress 配置 下载 MAMP MAMP是Mac平台上一款用于Web开发的本地服务器环境的工具。 MAMP这几个首字母代表苹果的OSX系统上的Macintosh、Apache、MySQL和PHP&#xff0c;即 MAMP 内含 Apache 服务器、PHP 安装套件以及MySQL安装套件。 https://www.mamp.i…

推荐几个设计师常去的优秀素材网站!收藏好哦!

1、创客贴 网址&#xff1a;www.chuangkit.com 创客贴是一个专业的平面设计工具网站&#xff0c;功能强大、全面&#xff0c;操作十分简单&#xff0c;有超过10w的各种场景模板&#xff0c;支持在线多人、多终端协作&#xff0c;关键还免费&#xff01; 2、包图网 网址&#x…

作为一名平面设计师,你必须知道的一些素材网站

随着互联网日新月异的发展速度&#xff0c;平面设计成为了各个行业宣传中一个重要部分。作为一名优秀平面设计师&#xff0c;不管是学习还是工作当中&#xff0c;都少不了需要一些灵感&#xff0c;但是常常为找不到灵感而苦恼&#xff0c;在你灵感枯竭&#xff0c;创意干涸的时…