各种骚操作,中文网最全 Bookmarklet 小书签
导读
我们知道,微信里面有一个微信小程序的功能,它可以不用安装就能使用,非常方便。其实在浏览器里也有类似的应用,它的名字叫做「小书签」Bookmarklet,而且比微信小程序还早了近 20 年。
作为一项远古神技,知道它的人可能还不到10%,10个人里面只有 1 个人知道,但在关注了奶酪的人群里,这个比例可能高达70%。因为奶酪前后历经 5 年,更新了14次,整理了中文网最全的小书签合集,今天它迎来了最新版本的更新。
一、什么是小书签?
小书签又名 Bookmarklet,由英文单词 Bookmark 和 Applet 组合而来,也就是书签小程序的意思。简单地说,小书签就是把一段带有特定功能的 JavaScript 代码保存到收藏夹,当你需要的时候,点击它可以实现这段 JavaScript 代码的功能。
小书签无需安装,也就不会对浏览器速度造成任何的影响,它和普通的书签一样放到书签栏里,只需要点击一下就能实现各式各样的功能,比如生成二维码,生成短链接,阅读模式等等功能,算得上“屠龙宝刀,点击就送”。
那小书签如何使用呢?
以「视频解析下载」为例,除了用鼠标点击小书签外,我们还可以为小书签设置一个关键字,然后只需要在地址栏输入关键字 “dl”(dl 意为 download)就可以一键解析下载视频了。
同理,将「VIP视频解析」设置关键字为 "vip",也可以快速调用这个小书签。(PS:如果遇到地址栏输入关键字后弹出空白页的情况,则需要按住 Alt 键再按回车)。
Chrome 浏览器不支持书签设置关键字,但我们可以在“搜索引擎管理器”中设置,同样在地址栏里输入关键字就可以一键调用小书签了。
二、中文网最全小书签合集
使用方法:将小书签拖入书签栏,点击即可使用。(文末附打包下载)
- VIP视频免费观看,测试页面:点这里
- 视频解析下载,除优酷外,支持国内大多数视频网站。
- 视频解析下载(优酷),暂时没做成小书签,需要手动输入地址。
- 随机打开网站,网站被墙,需要科学上网。
- 查找网站RSS源,任意有RSS的网站都可使用,测试页面就用奶酪的博客吧
- 网页另存为PDF,可惜有水印。
- 弹出软键盘,如题。
- WP一键留言, 需要修改成自己的名字,邮箱和内容。测试页面:点这里。
- 摧毁网站,加载可能较慢。
- 网页地震,让网页抖动起来。
- 网站涂鸦,可以涂鸦后再截图。
- 显示当前时间,如题。
- 今年还剩多久?,如题。
- 查看浏览器UA,如题。
- 显示网页最后更改时间,如题。
- 百度云直链,去百度网盘调用百度云管家,实现直链下载。
- 百度网盘提取码自定义,使用方法:点这里。
- 购物·购物党,不用多说,购物比价,测试页面:点这里。
- 购物·如意淘,如上。
- 购物·惠惠购物,如上。
- http 转 https,普通链接转加密链接。
- 当前网页短网址,如题。
- 生成二维码(页内),在https加密页面可能无法使用。
- 生成二维码(弹窗),如上。
- 文本链接转超链接,如题。
- 网页地址到根目录,如题。
- 网页地址向上一层,如题。
- 网页地址数字+1,如题。
- 网页地址数字-1,如题。
- 高亮显示链接,如题。
- 显示链接详情,鼠标移至链接会显示链接的详情。
- 显示出站链接,列出所有域名。
- 显示邮箱地址,如题。
- 显示所有链接,如题。
- 显示所有链接(含图片),如题。
- 显示当前页标题和地址,如题。
- 生成网页HTML代码,如题。
- 生成图片HTML代码,如题。
- 设置链接在新网页打开,如题。
- 设置链接在当前页打开,如题
- 谷歌搜索,如题。
- 谷歌站内搜索,输入关键字搜索当前网站的内容。
- 百度搜索,如题。
- 百度站内搜索,如上。
- 维基中文搜索,如题。
- 维基英文搜索,如题。
- 相似网站查找,如题。
- 搜索共享帐号,比如一些论坛下载需要帐号才能下载,这时这个功能可能会帮到忙,选择投票率最高的。。
- 谷歌缓存查询,比如一些网页已经打不开或者删除了,使用缓存查询功能则可以再次浏览。
- about:config搜索,只适用于Firefox,设置本小书签的关键字为"cf",然后在地址栏输入cf,则会进行搜索。
- 英文字典搜索,英文类字典搜索。
- 英文缩写搜索,如题。
- 英文同义词搜索,如题。
- 英文俚语词典搜索,中文里的 no zuo no die 也能搜索到。。。
- 编辑当前页面,可以对当前网页进行编辑,按Ecs键退出,什么支付宝余额修改然后截图装逼这种事实在太Low了。
- 解除选择复制限制,如题。
- 解除右键菜单限制,如题。
- 解除复制和右键限制,测试网页 点这里 或者 这里,可能是中文网页上唯一能用的解除限制小书签。
- 查看JS变量与函数,如题。
- 查看当前窗口大小,如题。
- 查看当前网页信息,会显示当前网页所有的JS和CSS文件。
- 查看网页Meta元素,如题。
- ASCII码对照表,如题。
- 生成HTML表格,如题。
- FireBugLite,Firebug精简版。
- PrintWhatYouLike,对网页的内容进行删减,然后进行打印。
- 屏幕尺子,V系列Firefox用户需要暂时停用Grab and Drag拓展。
- 字体查询,速度可能比较慢,点击网页指定文本就会显示是什么字体了。
- 地形图查看,如题。
- 网页测量工具,如题。
- RGB to Hex,如题。
- Hex to RGB,如题。
- 216种标准色,如题。
- IP地址查询,如题。
- SEO查询,网站SEO情况综合查询。
- WOT查询,查询网站是否是可信赖。
- Alexa查询,网站流量全球综合排名。
- Whois查询,网站所有者信息查询。
- Buildwith查询,查询网站用什么程序和主题建成的。
- W3C Link查询,检查网站所有的链接。
- W3C CSS查询,检查网站CSS是否存在错误。
- W3C Html查询,检查网站HTML是否存在错误。
- 网站收录查询,如题。
- 反向链接查询,如题。
- 网站时光机,需要科学上网,想知道优酷网在2008年8月8日长什么样就需要这个功能了。
- 打开速度检测,如题。
- 正常访问检测,联接不稳定,可能需要科学上网。。。。
- 网站易用性评估,如题。
- 网站黑名单检测,如题。
- 网站安全评级,如题。
- 网站病毒扫描,如题。
- 网站SSL检测,如题。
- 头部信息检测,如题。
- 小书签生成器1,小书签制作生成器,如果你掌握了一些JS知识,制起来就很容易了。
- 小书签生成器2,如上。
- 小书签生成器3,如上。
- 小书签调试工具,如题。
- 小书签合并工具,如题。
- 小书签转chrome拓展,如题。
- Quix,超级小书签,功能很多。
值得一提:
网站w-shadow.com是一个能提供小书签一键化合并的网站。假定我们已经知道了"解除选择复制限制" 和 "解除右键菜单限制", 但实际操作过程中需要这两个小书签同时运行,借助网站的合并功能可以同到小书签"同时解除复制和右键限制"的小书签。(可能是目前网上唯一能用的解除复制和右键限制小书签。)
使用方法:[参考这里] 。
解除复制和右键限制小书签是否生效测试网站:测试网站1 测试网站2
可能需要的Javascript知识:
Core JavaScript 1.5 Guide
JavaScript.com
JavaScript FAQ
W3CSchool
为什么在一些网页,点击小书签后没有反应?
在一些严格加密的https网页里,浏览器默认启用了 CSP (内容安全策略) ,禁用了跨站脚本,而小书签本身就是脚本,故而小书签不起作用了。解决方法是禁用 CSP,但这么做可能会引起一些安全隐患,如果你不是“高级玩家”,不建议这么做。
Firefox 的解决方法是在 about:config 中将 security.csp.enable 设置为 false,刷新后即可使用。启用小书签后可再将 security.csp.enable 设置为 true,重新启用CSP安全组策略。
三、如何制作小书签?
那小书签里像是乱码的符号倒底是什么呢?小书签里的 JavaScript 代码是经过编译转码的,所以看上去有很多符号,像乱码一样,我们可以借助转码工具来得到它原来的代码。以"谷歌站内搜索" 小书签为例,经过转码美化的代码便易于理解了。
有了上面的理解,我们就可以编辑和制作小书签了, 小书签的实质其实就是一段JavaScript代码,其格式就是:"javascript: + 一段JS代码",好比这一段最简单的小书签代码:
javascript:alert('Bookmarklets!')
试试复制并粘贴到地址栏中或者 点击这里运行,下面我们再举多几个例子。
 
例1:生成当前网页二维码
api.qrserver.com提供了生成二维码的API ”http://qr.topscan.com/api.php?w=250&text=",在 "data=" 后加上文字或者网址就会生成一个二维码了。
文本二维码比如:"http://qr.topscan.com/api.php?w=250&text=进来的是SB,哈哈哈哈",你的朋友圈里是不是也经常有让你扫描二维码进群可以领红包,结果发现是恶搞的这样的戏码?
网址二维码比如:"http://qr.topscan.com/api.php?w=250&text=https://www.runningcheese.com" 生成的二维码是奶酪的博客首页。这种形式非常地常见,比如地铁里的广告,海报里的手机购物等等。
文本二维码 |
网址二维码 |
1. 根据 jiathis.com 的二维码的API和JavaScript相关知识,我们可以得到这样的js代码:
window.open('https://api.qrserver.com/v1/create-qr-code/?size=300x300&data=' + decodeURIComponent(gBrowser.currentURI.spec));
后面的decodeURIComponent(gBrowser.currentURI.spec) 是一个变量,意思是当前网页的地址。
2. 注意此时的代码是js代码,还并不是小书签的代码,经过小书签特有的以javascript:开头的格式转换后,可以得到:
javascript:window.open('https://api.qrserver.com/v1/create-qr-code/?size=300x300&data=' + decodeURIComponent(location.href));void(0);
3. 如果小书签代码里有"#"或者空格等特殊字符时,传递参数时会被截断,小书签也有就不起作用了,因此我们需要借助URL转码工具对代码进行编码,得到:
javascript:window.open('https://api.qrserver.com/v1/create-qr-code/?size=300x300&data='%20+%20decodeURIComponent(location.href));void(0);
4. 将其保存到书签后就成功完成了小书签的制作。举一反三,再比如生成当前网页地址的短网址API是 "http://tinyurl.com/create.php?url=",我们只需要将上面的小书签代码稍稍改写一下就可以得到生成当前网页短网址小书签了:
javascript:window.open('http://tinyurl.com/create.php?url='%20+%20decodeURIComponent(location.href));void(0);
 
例2:当前网页中加载一条现成的.js文件
平时我们访问一些网站时,选中文字会自动触发"复制","搜索"或者"翻译"等功能,其原理是该网而加载了一条用于"复制","搜索"或者"翻译"的.js文件,根据这个思路,我们可以将这些功能移植到其他的网页上去。
1. 以沪江网划词翻译的js文件为例,在网页中加载一条.js文件的js代码是:
(function() {var element=document.createElement('script'); element.setAttribute('src', 'http://dict.hjenglish.com/app/js/dict_ajax.js'); document.body.appendChild(element);})
2. 把js代码转化为小书签代码后得到:
javascript:void((function() {var element=document.createElement('script'); element.setAttribute('src', 'http://dict.hjenglish.com/app/js/dict_ajax.js'); document.body.appendChild(element);})())
3. 将其保存到书签就完成了小书签的制作。
4. 举一反三,我们只需要更改 "http://www.某网站.com/某文件.js" 文件地址就可以了。比如同文堂简体转化为繁体的.js文件是 http://tongwen.openfoundry.org/src/bookmarklet/bookmarklet_tw.js,再比如有道全文翻译的.js文件是 http://fanyi.youdao.com/web2/seed.js
 
例3:如何小书签将繁体中文的网页全部自动变成简体中文?
如上面所说,有一些专门的翻译js文件做成小书签后,需要手动点击才会启用,那如何自动启用翻译js文件呢?我们可以利用“用户脚本”来实现,用户脚本拓展推荐使用 Violentmonkey。以在拓展中加入如下代码即可,原理就是自动加载这个js文件。
// ==UserScript==
// @name Auto Simplified Chinese
// @namespace no
// @description 自动将网页翻译为简体中文
// @run-at document-idle
// @require https://git.oschina.net/runningcheese/JiathisQR.js/raw/master/bookmarklet_cn.js
// @grant none
// @include https://www.runningcheese.com/*
// ==/UserScript==
(function() {
var s = document.createElement('script');
s.setAttribute('src', '@require');
document.body.appendChild(s);
})()
 
例4:如何让网页自动加载某个小书签?
小书签和用户脚本效果相同,但小书签是手动的,用户脚本是自动的,我们可以将小书签改写成用户脚本,方法是:
// ==UserScript==
// @name 从小书签改写到用户脚本
// @namespace none
// @description 从小书签改写到用户脚本
// @run-at document-idle
// @grant none
// @include https://www.runningcheese.com/*
// ==/UserScript==
location.href = "javascript:(function(){alert('Hello Cheese!');})();";
也就是把小书签的地址替换上面代码中双引号之间的内容,javascript:(function(){alert('Hello Cheese!');})(); 这一段。一些比较复杂的小书签无法直接用替换双引号之间内容的方法,因此我们还是需要借助URL转码工具对小书签的内容进行解码。
结尾
- 奶酪制作、修复和收集了可能是国内最全的小书签合集。同时为了方便识别,html文件也都已经添加上了icon图标。
- 关注 公众号(ID:runningcheese01)回复关键字“小书签”即可获取“HTML版小书签”。
- 最后更新:2019-08-07,第10次更新。
- 首次更新:2015-11-25,第1次更新。


用上定制版浏览器了,真香!非常感谢!
在微信公众号中获取的小书签合集打包,我刚刚试了一下,有很多已经失效了。请博主有空的时候更新一下,谢谢。
大大有的已经失效了,肯能是chrome更新的原因,比如翻译类的繁体转简体都没反应
自动滚屏按esc也不停
来参观一下,欢迎回访
有没有 点击一下书签把自定义文本复制到剪切版的
你不会CTRL+C ?
很棒。
是不是用了 GreenChrome ? 要取消勾选“处理弹出菜单”选项,这个原因导致的。
把奶酪的小书签 放到自己javascript:void(0)的chrome浏览器上 一点就about:blank 没效果 求指导
二维码分享只能分享文字或输入的内容。有时会遇到分享图片的内容怎么用二维码呢!
API + 图片链接。比如:https://api.qrserver.com/v1/create-qr-code/?size=图片链接,上传图片的方法参考:https://www.runningcheese.com/sharing
最近发现某社区喜欢把文本(如邮箱等)信息用base64加密后分享,想到可以用小书签还原原本的信息;
于是东拼西凑了一份替换选中文本为base64解密后的文字的小书签;
迫于不懂js,仍有限制(如不能替换输入框中的文本,不支持中文),不知能否指导小弟,完成这个小书签
替换函数出处:https://www.jianshu.com/p/991a1204660e
小书签如下:
varjavascript:(function()%7Bvar%20t%3D((window.getSelection%26%26window.getSelection())%7C%7C(document.getSelection%26%26document.getSelection())%7C%7C(document.selection%26%26document.selection.createRange%26%26document.selection.createRange().text))%3Bfunction%20boldSelection(text)%20%7B%20if%20(document.selection)%20%7B%20var%20selecter%20%3D%20document.selection.createRange()%3B%20selecter.select()%3B%20var%20selectStr%20%3D%20selecter.text%3B%20%20selecter.pasteHTML(text)%3B%20%7D%20else%20%7B%20var%20selecter%3B%20if%20(window.getSelection())%20%7B%20selecter%20%3D%20window.getSelection()%3B%20%7D%20else%20%7B%20selecter%20%3D%20document.getSelection()%3B%20%7D%20selecter%20%3D%20document.getSelection()%3B%20var%20selectStr%20%3D%20selecter.toString()%3B%20if%20(selectStr.trim()%20!%3D%20)%20%7B%20var%20rang%20%3D%20selecter.getRangeAt(0)%3B%20var%20temp%20%3D%20document.createElement(‘b’)%3B%20rang.surroundContents(temp)%3B%20rang.deleteContents()%3B%20rang.insertNode(document.createTextNode(text))%3B%20%7D%20%7D%20%7DboldSelection(atob(”%2Bt))%7D)()
在javascript前面有一个前双引号,在小书签后面也有一个后双引号,系统给删除了。
没有用 , 提示 Error found in settings: SyntaxError: missing ) after argument list
mapkey(‘D’, ”, function() { gBrowser.loadURI(javascript:for(nIx5Bs=0;nIx5Bs<document.all.length;nIx5Bs++)%7Bif(document.all%5BnIx5Bs%5D.tagName==’A’)%7Bwith(document.all%5BnIx5Bs%5D.style)%7Bif(backgroundColor==’yellow’)%7Bvoid(backgroundColor=document.bgColor)%7Delse%7Bvoid(backgroundColor=’yellow’)%7D%7D%7D%7D)};
});
语法错误,少了一个小括号,按照我给出的格式写。记得在javascript前面有一个前双引号,在小书签后面也有一个后双引号,系统给删除了。
帮忙转换成 mapkey(‘F’, ‘高亮显示链接’, function() {
});
“` js
javascript:for(nIx5Bs=0;nIx5Bs<document.all.length;nIx5Bs++)%7Bif(document.all%5BnIx5Bs%5D.tagName==’A’)%7Bwith(document.all%5BnIx5Bs%5D.style)%7Bif(backgroundColor==’yellow’)%7Bvoid(backgroundColor=document.bgColor)%7Delse%7Bvoid(backgroundColor=’yellow’)%7D%7D%7D%7D
“`
下载奶酪提供的小书签文件,里面就有高亮显示链接的选项。
恩, 我是说把小书签改成 mapkey(‘F’, ‘高亮显示链接’, function() {
javascript:for(nIx5Bs=0;nIx5Bs<document.all.length;nIx5Bs++)%7Bif(document.all%5BnIx5Bs%5D.tagName==’A’)%7Bwith(document.all%5BnIx5Bs%5D.style)%7Bif(backgroundColor==’yellow’)%7Bvoid(backgroundColor=document.bgColor)%7Delse%7Bvoid(backgroundColor=’yellow’)%7D%7D%7D%7D
});
用作 Chrome Surfingkeys 扩展
function() { gBrowser.loadURI(javascript:小书签);};