浏览器书签的能与不能

网站所有资源都有,可联系VX:kanyingvip

书签是浏览器的基础功能之一。近年来,浏览器的网页应用和插件越来越多——地址框搜索书签、书签同步、书签栏整理……这似乎使得书签的功能进一步扩展,人们开始希望书签能做更多的事情,甚至将它和稍后读、笔记应用放在一起讨论。很多人开始提出一些难题:

「能不能检索书签网页的内容?」「能不能批量整理文章链接?」「能不能让书签实时更新?」「能不能通过 IFTTT 让书签内容同步到某笔记工具?」……

但这些问题多半得不到答案,或者根本无法解决,即便加上插件也无济于事。那么浏览器书签功能为何如此孱弱,到底有哪些事情是书签能做的,又有哪些是不能做的?这正是本文要讨论的话题。

书签是怎么来的

早在 1993 年,书签(Bookmark)这一功能就被 Mosaic 浏览器集成 [1],功能是用于存储网址。目的也很简单,用户不必用纸笔抄下网址就能快速链接到网站。同样的功能在 IE 等浏览器中叫「收藏夹」或「我的最爱」。

如今,无论 PC 端还是移动端,几乎所有的主流浏览器都支持书签,书签的基础形式和基础功能都没有发生太大变化,但各家浏览器都在书签的基础上又衍生出了更多品种的书签。

正确认识书签

[rihide]如果你想将一项功能融入自己的工作流程,就必须对这项功能的细节有所了解,要看设计者是如何设计这个功能的。浏览器书签在设计上非常简单,可操作的空间也极其有限。你能够修改的通常是这三项——

  • 书签名称:方便辨别网址,部分浏览器提供按名称排序的功能。
  • 书签链接:并不一定是网站链接,也允许你使用 JavaScript 脚本等其他内容。
  • 描述或备注:分浏览器,比如 Safari 提供描述而 Chrome 不提供描述功能。
书签的组成

在这三项之外,浏览器会自动提取网站的图标(Favicon)且不可自行修改,允许你对书签进行文件夹式的管理。除此之外也没有其他功能了,因此浏览器书签的所有功能,都必须在这个范围内展开。除非你通过某些插件提供更多的选项,否则想让书签替代全文剪藏之类的功能就是天方夜谭。

Safari:书签描述、阅读列表

不同的浏览器也会围绕书签提供不一样的功能,这些功能并不能通过导入导出完成无损切换,因此只能算作浏览器特色而非书签本身的特点,但依然值得一讲。

比如 Safari 的书签允许你加上描述,能够在显示内容时展示更多的内容。相比 Chrome 的书签就多了一个层次,能为书签提供更丰富的描述内容而不影响书签的名称。但描述功能依然孱弱,首先是只能在侧边栏搜索才会展示,地址栏搜索不会出现结果。而且在导出时为了保证兼容性,不会将描述导出,所以用途非常有限。

Safari 添加描述

除了书签,Safari 的阅读列表(Reading List)也是一项颇有特色的功能,最重要的特点是能够将收藏的文章自动缓存方便离线阅读,并通过 iCloud 进行全局同步,在没有网络的时候一样可阅读。提供阅读列表功能的还有微软的 Edge 浏览器。

但阅读列表的功能还是过于基础,并不是真正意义上的稍后阅读应用,无法取代 Pocket、Insatapaper 之类的稍后阅读服务,最明显的区别在于 Safari 的阅读列表不会自动优化页面的表现形式(优化阅读体验是阅读模式的功劳),也不能进行多文件夹归类,只有已阅读和未阅读之分。

Safari 阅读列表

相比书签,阅读列表最大的特点还是在于自动分类机制上。在阅读列表中初次收藏时会将文章放进未阅读清单并缓存到本地,阅读完毕后自动归类到已阅读清单。而书签无法实现类似的自动分类机制,也无法通过单次收藏区分是否已经阅读过文章。

由此可以发现,书签并不适合用于存储「需要阅读的文章」,在尚未判断一篇文章价值时,更适合将其加入到「阅读列表」或稍后读工具中。

Chrome:书签简陋、插件为主

Chrome 的书签是最基础的书签,能编辑的内容只有书签名称、书签链接。Chrome 的许多功能都是依靠插件完成的,针对书签的功能都需要安装额外的书签插件来完成。因此书签功能也是主流浏览器中较弱的一个。

Chrome 书签更为简单

Chrome 插件商店中搜索 Bookmark,能找到大量与书签有关的插件。它们可以将横向的书签栏改为纵向的侧边栏、将一部分书签展示在启动页上、将一层一层的书签目前变成瀑布式书签……实在令人眼花缭乱,但这些插件没有为书签增加任何新功能,大多数仅限于「美化外观」「优化展现形式」「展示重点书签」之类的外观优化。

Chrome 书签插件

仅次于美化类插件的是同步类插件,由于国内无法使用 Chrome 自带的书签同步,涌现了不少第三方书签同步服务。但这些书签同步服务的作用还是比较有限,因为书签同步最大的价值在于打通 PC 和移动端设备,而移动端恰恰无法安装插件,只能打通多台 PC 或在手机上安装额外浏览器。再加上第三方书签同步服务缺乏盈利手段,难以长期维持服务。而同步功能本身也只是 Chrome 同步的替代品,体验并不算好,很难说是对书签的一种改进。

更有价值的插件是能够提供额外功能的插件。如果以这个标准来排除美化插件和同步插件,Chrome 中对书签功能做出真正改善的插件就少之又少了。文末会提供一些比较有特色的书签增强插件供大家使用。

Firefox:另辟蹊径的 Live Bookmarks

Firefox 除了普通的书签之外,于 2004 年提出了一个独具特色的书签功能:即时书签(Live Bookmarks),这与普通的书签又有不同,它更像是一个 RSS 聚合器。通过采集网站的 RSS 地址,每当进入一个即时书签时,就能看到这些网站文章的最新更新,其实和 RSS 阅读器做的事情没有太大区别。

Firefox 的 Live Bookmarks | 图片来自网络

Firefox 也确实意识到了这个问题,在 2018 年 12 月更新的 Firefox 64 版本中取消了内置的 Live Bookmarks 功能,提供了 OPML 导出功能,方便用户将他们在 Live Bookmarks 中的 RSS 订阅源转移到其他 RSS 阅读器中,原有的 Live Bookmarks 都会被转为常规标签。尽管最终被移除,但这种用法确实是一种颇有创新的、针对书签的新用法。

可见,主流浏览器普遍提供最基础的书签功能,但在实现上都有不一样的做法和细小区别,其他浏览器也是如此,并不会将书签作为大量容纳信息的地方。

书签的正确用途

为什么说开头提到的「检索内容」「批量整理」「实时更新」「IFTTT 同步」等功能都很难实现?很大程度上是因为对书签的理解有误区,实际情况是书签本身内容有限,各种浏览器对书签的格式不统一,连加个备注都困难,只能依靠插件来完成、又或者连插件都无法完成这些操作。因此,找准书签的真正用途很重要,不要对它赋予过高的期望。

还有很多人觉得自己书签栏乱的一塌糊涂,实际上是书签没有合适的位置存放,你需要为每一种书签设想一个容身之所,用文件夹把它们分门别类放好。

书签适合存什么

那么书签最适合用来做什么?自然是最符合它设计初衷的功能——快速跳转

最适合用书签完成的事情并不是用它来存文章、存内容、同步内容,而是从当前位置跳转到另一个位置。下面这些功能的网站就非常适合作为书签:

  • 每日访问的网站(工作必需、搜索引擎等)
  • 工具类网站(在线翻译、在线文档等)
  • 服务类网站(资讯新闻、Twitter 等需要定期检查的网站)
  • 功能性 JS 脚本(可以轻松完成生成二维码、站内搜索之类的小操作)
书签适合做什么

超出这些范围的书签当然也能存储,比如很多人用书签收藏文章,但是文章书签在利用率上低于稍后读、笔记工具。可能在扔进收藏夹之后的一两年都不会再去碰这篇文章了,反而增加了检索其他书签的难度。也可能在几年后网站倒闭了,文章无法打开了。所以最好控制这些书签的数量,或将这些书签逐步转移到笔记应用中。

当然,如果你的工作就是编辑和文字内容,每天都要访问文章页面,那收藏文章也属于「每天访问的网站」,使得快捷访问的用途大于内容搜索。那么文章网页也适合用书签来整理。

如何组织书签结构

排除掉那些不适合以书签形式存储的网页后,其实书签的组织结构也很重要。

书签栏和本地文件夹不一样,理论上都可以嵌套多层文件夹,但实际操作起来并不一致。特别是 Chrome 的菜单栏需要一次性定位到书签,中途移出菜单栏就需要从头选中,因此最好让书签的层级少于三层。最外层的书签是最常用的,越是往里就越是冷门。还有一点是书签的排列顺序很重要,展开书签菜单后,最上方和最下方的书签最容易吸引你的目光,因为一个是最常用的,一个是最新添加的。中间段反而不那么引人注目。

所以我自己的做法是:利用分隔栏进行分类,用 Emoji 来统一文首的字符。这样既可以减少层级,也可以在误点「按名称排序」后,不影响原有的排列方式,还有一定的美观性。

两级目录的书签,用分隔栏分隔种类

如何整理书签内容

书签的名称也很重要,很多人不喜欢网站名称的超长后缀,在收藏时习惯性将所有后缀全部删除,只留一个词来表明这个网站,这样其实反而不好。

比如我几年前刚开始接触 Unsplash.com,当时收藏了一个名为「Unsplash」的书签。时隔一周再想找到这个网站时,已经记不清这个网站名称是怎么拼的了,只能手动去找。

其实在收藏 Unsplash 的时候,默认名称是「Beautiful Free Images & Pictures | Unsplash」,当你搜索 Images、Free、Pic 的时候,都会出现这个网址,降低了搜索的难度。如果你认为这个名字会产生误导,就把网站的名称放到最前面。

然后是添加更丰富的备注,加上自己对它的一段描述——「Unsplash – 无版权图片素材网站 – Beautiful Free Images & Pictures」,也可以是 tag 性质的描述——「Unsplash – 无版权图片素材网站 – Beautiful Free Images & Pictures – 图片 – 插图 – 摄影 – 无版权 – 社区」。尽管这些描述并不一定 100% 准确,但对我来说,便于检索的目的已经达到了。我一想到 Unsplash 就会输入「无版权」,然后通过浏览器的自动关联迅速进入网站。

还有一种用法是基于「自定义搜索」的,你可以为某个常用的书签地址设置一个简短的关键词,输入关键词后就能快速跳转到一个复杂的链接。

作为搜索引擎快捷跳转

书签的导入、导出、同步

由于书签本身的功能较少,书签的整理往往需要手动完成。当你需要为切换浏览器而整理书签时,最典型的一个问题是不同浏览器的导出格式有所不同。

浏览器之间导入数据的最佳方法是通过内置功能直接导入,比如 Safari 提供的文档《在 Mac 上的 Safari 浏览器中导入其他浏览器的书签和历史记录》中,第一个推荐的方法就是「自动从 Firefox 和 Chrome 导入书签和历史记录」。

如果浏览器不支持直接导入,就只能通过通用的导出方式完成。Chrome 的书签导出后是一个 HTML 文件,Safari 的书签导出后曾是一堆文件夹和独立网址文件(现在也可选择 HTML)。而 Safari 书签的描述无法导出,进入到 Chrome 自然是无法保留,只能消失。

Chrome 中导出书签为单个 HTML

不同的导出格式,能做的事情也有所不同,Chrome 的 HTML 书签很适合用编辑器进行批量搜索、批量修改。在最新版本的 Chrome 中导出书签,导出后的 HTML 文件可以直接打开,也可以用代码编辑器打开。

可以发现导出的书签以 HTML 的形式包含了「书签名称」「书签链接」「添加日期」这三种信息,部分还包含「图标信息」。这就方便我们利用一些简单的样式为页面做美化,比如按照这一方法进行操作,能够让书签导出文件变成一个不错的展示页面。

Chrome 中导出的书签是代码形式的

大致的方法是通过编写一段 <style> 代码设置网页样式,然后通过批量替换法,为 <H3> 标签添加这些样式(文件夹的 HTML 标签),最后实现样式效果。

多浏览器同步书签

浏览器书签的导入导出是一回事,浏览器之间的书签同步就是另一回事了。多数浏览器仅提供自家浏览器之间的同步服务,因此想让 Chrome 和 Safari 的书签实时同步,就需要借助一些第三方插件或第三方云服务。

苹果就为 Chrome 提供了一款 iCloud 书签同步插件,需要在 Windows 端同时安装 iCloud 客户端和 Chrome 插件并启用。就能让 Chrome 的书签和 Safari 端的书签实时同步。在 macOS 无法将 iCloud 和 Chrome 同步结合,目前只能依靠第三方书签同步插件才能完成。

两年没更新的 iCloud 书签同步插件 | 图片来源 Chrome 扩展商店

而第三方同步工具则良莠不齐,相对知名的 Xmarks 已经关停,现在有 FloccusEverSync、一众国产书签同步服务有各自的特点,可以根据自己的需要进行选择。

如果不想折腾这些第三方同步工具,那还是在手机端和 PC 端选择同一款浏览器,一劳永逸的解决这个问题。苹果生态的用户推荐 Safari,非苹果生态推荐 Chrome,非苹果生态且不具备代理条件,推荐 Chromium 内核的 Edge、Firefox(分国内外版)。

书签可以是 JavaScript 脚本:Bookmarklet

难道书签只能存储网址吗?那倒也未必,书签还发展出了一种新的用法,那就是让 JavaScript 脚本成为书签,实现一些快捷的操作。这种书签被称为 Bookmarklet,这一名称是 Bookmark 和 Applet 的组合,也叫小书签或是书签小程序

Bookmarklet 是以 URL 的形式存储在书签栏中的,在浏览网页时运行,就可以实现搜索、修改页面元素之类的效果。Bookmarklet 一般是 JavaScript 程序,以 javascript: 作为开头。

Bookmarklet 最常见的作用是修改网页外观、提取链接、分享页面的一部分、调用搜索引擎、通过 API 实现特定功能、解除某些限制(右键、复制等操作)。这使得书签在实现快速跳转的同时,也能完成一些快捷操作。这里介绍几个 @Fairyex 提供的 JS 脚本。使用方法也很简单,将它们复制添加到书签中,点击就能使用。

生成当前页面二维码

在跨平台或跨账号的环境下,将一个网页传输到手机的最快方法可能是通过二维码:PC 端生成二维码,手机端扫码就能打开同一个链接。以往需要插件才能够实现类似的功能,但有了下面这个 JS 书签,就不必额外安装一个「二维码生成」插件了。

这段代码的作用是通过 goqr.me 提供的 API 接口,快速生成一个尺寸为 300 x 300 的二维码。并打开一个新的窗口进行显示。

javascript:window.open('https://api.qrserver.com/v1/create-qr-code/?size=300x300&data=' + decodeURIComponent(location.href));void(0);

快速用 Wikipedia 搜索选中的文字

这段代码是 Wikipedia 对 Bookmarklet 的示例用法 [2]。使用时需要先选中网页上的文字,然后运行动作,就能一键完成 Wikipedia 搜索该关键词。

javascript:function se (d) {return d.selection ? d.selection.createRange().text : d.getSelection()} s = se (document); for(i=0; i<frames.length && !s; i++)s = se(frames[i].document); if(!s || s=='')s = prompt('输入维基百科搜索关键字',''); open('http://zh.wikipedia.org' + (s ? '/w/index.php?title=Special:Search&search=' + encodeURIComponent(s): '')).focus();

查看密码

密码文字通常会显示为 ****** 或是 ●●●●●●,Chrome 的自动填充越来越方便,但也越来越容易忘记密码。如果你想通过正常手段查看这些自动填充的密码,还需要进入设置界面、输入密码才能查看。下面这段代码可以直接查看被隐藏的密码,帮助自己确认密码有没有输错,或者看到自动填充的密码是否正确。

javascript:(function(){var IN,F;IN=document.getElementsByTagName('input');for(var i=0;i<IN.length;i++){F=IN[i];if(F.type.toLowerCase()=='password'){try{F.type='text'} catch(r){var n,Fa;n=document.createElement('input');Fa=F.attributes;for(var ii=0;ii<Fa.length;ii++){var k,knn,knv;k=Fa[ii];knn=k.nodeName;knv=k.nodeValue;if(knn.toLowerCase()!='type'){if(knn!='height'&&knn!='width'&!!knv)n%5Bknn%5D=knv} } ;F.parentNode.replaceChild(n,F)} } } } )()

趣味 Bookmarklet:网页抖动

也有一些仅提供视觉效果的 JS 脚本,比如下面这段脚本能让页面中的各种元素不断抖动。虽然缺乏实用价值,但很好地体现了「能够修改网页元素」的特点。

javascript:(function(w,url,hasjq)%20{%20if%20(!(hasjq%20=%20w.jQuery))%20{%20var%20s%20=%20document.createElement('script');%20s.src%20=%20url;%20(document.getElementsByTagName('head')[0]%20||%20document.getElementsByTagName('body')[0]).appendChild(s);%20}%20(function%20go()%20{%20if%20(!w.jQuery)%20{%20return%20w.setTimeout(go,%20200);%20}%20var%20$%20=%20w.jQuery;%20if%20(!hasjq)%20$%20=%20$.noConflict();%20var%20$s%20=%20$('p,div,img,span,strong,em');%20(function%20shake()%20{%20$s.each(function()%20{%20if%20(this.shift)%20this.shift%20=%200;%20else%20this.shift%20=%20(2*(Math.floor(Math.random()%20*%202))%20-%201)%20*%20(Math.floor(Math.random()%20*%204));%20$(this).css('margin-left',%20this.shift);%20});%20w.setTimeout(shake,%2080);%20})();%20})();})(window,%20'http://apps.bdimg.com/libs/jquery/1.6.4/jquery.min.js')

还有一些在线服务会直接提供一些现成的 Bookmarklet,帮助你更快完成操作,比如 Inoreader 就提供「订阅当前网站 RSS」「保存到 Inoreader」「下一篇」等功能的 Bookmarklet,内容也是 JavaScript 脚本。

这类书签还有一些分享站,搜索 Bookmarklet 就能找到不少,这里就不再赘述了。

功能性的书签插件

更复杂一些的操作就不再适合用 Bookmarklet 完成了,毕竟这已经接近了书签功能的边界。想要拓宽这种边界,就需要加入更强力的功能。

上面也讲到大部分书签插件只是换一个形式、换一个外观,并未对书签功能进行实质性的改进。这里简单提一些以改进功能为主的书签插件。

Aurora Minima:搜索书签时显示页面

上面提到,限于书签的设计,无法通过书签直接提供全文搜索功能。但借助 Aurora Minima 这款插件,能在搜索书签的同时,自动加载网页的第一屏,以便你快速找到需要的网站,相当于自动进行了二次筛选的工作,减少因相同名称的书签太多而产生的困惑。

? Aurora Minima – Chrome 扩展商店

Aurora Minima

Quick Bookmark Cleaner:清理失效书签

这款小插件的作用是清理失效的书签,原理也非常简单,让它帮你把每个书签的地址都连接一遍,看看是否有无法访问的书签。缺点是速度较慢,我目前收藏了两千多个书签,扫描一遍花了 10 分钟左右,而且无法部分扫描。好在也不用经常清理,可以尝试一下。

? Quick Bookmark Cleaner – Chrome 扩展商店

Quick Bookmark Cleaner

Sprucemarks:让书签支持自动排序

Sprucemarks 能让书签根据一些规则像本地文件一样自动排序,比如按文件名从 A-Z 的顺序排列、按书签的添加时间顺序排列。这款插件从 2011 年开始免费提供,将于 2020 年 1 月 1 日收费。你也可以在收费之前 在 GitHub 下载 当前版本并保存这一离线版,作者允许将其用于个人用途。 [3]

? Sprucemarks – Chrome 扩展商店

Sprucemarks

除了上面这些功能,还有人希望实现更进一步的功能,比如为书签加上 tag、为书签添加备注等,但问题在于 Chrome 不会对这些第三方工具中的数据进行同步,如果第三方插件不支持同步,依然只能存储在本地,算是一个不小的缺憾。

还有一种需求是临时存储大量网址,但书签其实并不适合暂存大量网址。如果你下班前想把打开的网页保存起来,最快捷的方法应该是 OneTabToby 这类暂存插件。

如果你需要的是全文搜索、检索网页内容等功能,也更应该使用印象笔记、稍后读工具等能够将网页内容存储到本地的工具。

总结

总的来说,尽量避免在某个领域的专用工具上赋予过高的期望,因为它的初衷、原理和设计压根没往这方面想。我们需要做的是根据工具的现实情况来调节工作流,而不是根据自己想怎么用来改变工具。就好比你无法通过冰来取暖,把工具放在它所在的位置,这才是应该思考的。

参考文献

  1. New X-based information systems browser availableMarc Andreessen. 1993-02-16.
  2. Bookmarklets
  3. Grab This Bookmark-Organizing Extension Before It Costs Money

[/rihide]

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容