无需登录 数据私有 本地保存

Bookmarklet构造器 - 将任意JS转为小书签

18
0
0
0
JavaScript 代码
预设:
编码后长度: 0 字符 接近长度限制 可能超出浏览器限制
生成的小书签
javascript:void(function(){/* 在此输入代码 */}())
拖拽我到书签栏

桌面端:直接拖拽蓝色按钮到浏览器书签栏
移动端:点击下方复制按钮,手动创建书签粘贴

已复制到剪贴板!

常见问题与知识点

什么是 Bookmarklet(小书签)?

Bookmarklet 是一种特殊的浏览器书签,它以 javascript: 协议开头,点击后可以在当前页面上执行 JavaScript 代码。它不需要安装任何扩展,轻量且跨平台,是网页自动化和增强浏览体验的利器。与普通书签不同,小书签不导航到新页面,而是在当前页面上下文中运行脚本。

如何使用生成的 Bookmarklet?

桌面端:将蓝色按钮直接拖拽到浏览器的书签栏即可。点击书签栏中的小书签即可在当前页面执行代码。
移动端:复制生成的 bookmarklet URL,手动在浏览器中创建新书签,将复制的链接粘贴到 URL 字段中保存。

Bookmarklet 安全吗?有哪些风险?

Bookmarklet 在点击时会在当前页面的上下文中执行 JavaScript,拥有与该页面相同的权限。建议:① 只运行自己编写或信任来源的小书签;② 不要在包含敏感信息的页面(如网银)运行不明来源的小书签;③ 使用 void 前缀可防止意外页面跳转。本工具生成的代码会默认用 IIFE 包裹,隔离变量作用域。

为什么我的 Bookmarklet 不工作?

常见原因:① 代码中存在语法错误;② 某些网站设置了 CSP(内容安全策略),禁止内联脚本执行;③ 编码后的 URL 超出了浏览器长度限制(通常约 2000-4000 字符);④ 代码依赖了页面中不存在的 DOM 元素。建议先在本工具中开启「压缩代码」选项减小体积,并在控制台中测试代码逻辑。

Bookmarklet 的代码长度有限制吗?

有。不同浏览器的 URL 长度限制不同:Chrome 约 2MB(但书签同步限制更严格),Firefox 约 64KB,Safari 约 80KB,IE 约 2KB。实际使用中建议将编码后的 bookmarklet 控制在 2000 字符以内,以确保跨浏览器兼容和同步顺畅。开启「压缩代码」可以有效减小体积。

如何在移动端使用 Bookmarklet?

移动端浏览器通常不支持拖拽添加书签。替代方案:① 复制本工具生成的 bookmarklet URL;② 在浏览器中手动添加书签,将 URL 粘贴进去;③ 保存后,在需要使用的页面打开书签即可。Safari 和 Chrome 移动版均支持此方式。也可以使用第三方书签管理工具辅助。

IIFE 包裹和 void 前缀有什么作用?

IIFE(立即执行函数表达式)(function(){...})() 包裹代码,可以创建独立作用域,避免变量污染页面全局环境。void 前缀确保整个表达式的返回值是 undefined,防止代码的返回值意外触发浏览器导航(例如返回一个字符串时,某些浏览器会将其渲染为页面内容)。两者结合使用是最佳实践。

Bookmarklet 和浏览器扩展有什么区别?

Bookmarklet 是轻量级的,无需安装、无需权限、跨浏览器通用、即点即用。浏览器扩展功能更强大(可访问浏览器 API、后台运行、跨域请求等),但需要安装、占用资源、需审核上架。对于简单的页面操作和自动化任务,Bookmarklet 是更便捷的选择。