惊呆!Js保存成书签居然可以解锁这么多有趣玩法,快收藏

大家好,我是石小石!


前几天分享了一篇非常简单但实用的文章:只需一行代码,任意网页秒变可编辑

在评论区发现一些超级实用有趣的小技巧。

或许在多数人眼中,浏览器的书签不过是用来收藏网址的简单工具,但事实上,它还能摇身一变,成为你的"脚本工具箱",让你随时随地在任何网页上施展 JavaScript 的"魔法技能"。

今天,我们要聊的主角正是它------Bookmarklet(书签小工具)。

什么是书签小工具 Bookmarklet?

Bookmarklet 是一种特殊的浏览器书签,它的"网址"不是链接,而是一段以 javascript: 开头的 JavaScript 代码(后面是一段自执行函数)。

点击后,脚本将在当前网页上立即执行,无需插件、无需刷新、即点即用!

注意:

  • Chrome 限制粘贴 javascript: 到地址栏运行,因此需要直接保存为书签。
  • Bookmarklet 的代码长度建议控制在 2000 字以内,太长可压缩或托管到 CDN。
  • 有些网页有 CSP(内容安全策略)会阻止脚本运行,这是浏览器安全机制导致的。

如何创建 Bookmarklet?

以谷歌浏览器为例,我们先将任意一个网页保存为书签

然后,我们修改书签的网址为javascript: + js语句,如

js 复制代码
javascript:(function(){alert('Hello!');})();

现在,我们在任意网页点击这个书签,就可以在当前网页执行这个脚本了。

注:如果需要再操作栏快捷访问书签,按照下图步骤操作

🚀 Bookmarklet 的实用场景

编辑任意网页文字

js 复制代码
javascript:document.body.contentEditable='true';document.designMode='on';void 0;

点一下就能直接修改网页上的文字,在需要修改网页上的数据、解除文件复制时,非常实用。

参考此文: 只需一行代码,任意网页秒变可编辑

高亮所有链接

js 复制代码
javascript:[...document.links].forEach(a=>a.style.background='yellow');

给网页加个 CSS 滤镜"滤镜器"

每两秒切换一种滤镜,网页立马成"LOMO 相机"体验!做主题切换非常实用!

js 复制代码
javascript:(function(){
  const filters = ['none', 'grayscale(1)', 'sepia(1)', 'invert(1)', 'blur(5px)', 'contrast(200%)'];
  let i = 0;
  setInterval(() => {
    document.body.style.filter = filters[i % filters.length];
    i++;
  }, 2000);
})();

快速滚动到底部

js 复制代码
javascript:window.scrollTo(0,document.body.scrollHeight);

鼠标悬停元素高亮边框

当鼠标 hover 到页面上任意元素时,给它显示一个清晰的高亮边框,可以用于前端代码调试

js 复制代码
javascript:(function(){
  const style = document.createElement('style');
  style.id = 'hover-highlighter';
  style.innerHTML = `
    *:hover {
      outline: 2px solid rgba(0, 123, 255, 0.9) !important;
      cursor: crosshair !important;
    }
  `;
  document.head.appendChild(style);
})();

总结

通过这篇文章,相信已经对Bookmarklet有所了解。它是一种将 JavaScript 脚本变成浏览器书签的技巧,只需点击书签即可在当前网页执行代码,无需插件、无需刷新。只有你懂js的使用,就可以结合它开发出意向不到的优秀小工具!欢迎评论区分享!

相关推荐
程序员鱼皮11 分钟前
Gemini 3.0 发布!
前端·ai编程·gemini
程序员鱼皮13 分钟前
Gemini 3.0 炸裂发布!前端又死了???
前端·ai·程序员·互联网·代码
xiangxiongfly91515 分钟前
CSS svg
前端·css·svg
山依尽25 分钟前
如何将一个 React SPA 项目迁移到 Next.js 服务端渲染
前端·next.js
30 分钟前
使用 svgfmt 优化 SVG 图标
前端·svg·icon
Watermelo61730 分钟前
href 和 src 有什么区别,它们对性能有什么影响?
前端·javascript·vue.js·性能优化·html·html5·用户体验
hqk39 分钟前
鸿蒙零基础语法入门:开启你的开发之旅
android·前端·harmonyos
AAA阿giao41 分钟前
大厂面试之反转字符串:深入解析与实战演练
前端·javascript·数据结构·面试·职场和发展·编程技巧
专业抄代码选手1 小时前
告别“屎山”:用 Husky + Prettier + ESLint 打造前端项目的代码基石
前端
想进字节冲啊冲1 小时前
Vibe Coding 实战指南:从“手写代码”到“意图设计”的前端范式转移
前端·ai编程