当我们在网页浏览中遇到常用但不常访的页面时,我们会将其添加进书签进行管理。但是,对于某些功能特别复杂的页面,书签就显得有些力不从心了。这时候,Bookmarklet
就发挥出了它的作用。
Bookmarklet
是一种嵌入到 URL 中的 JavaScript 代码。只要将该 URL 添加到浏览器的书签栏中并点击书签,在任何页面上单击该书签就能够运行 JavaScript 代码。换句话说,它实际上是将 JavaScript 代码添加到一个书签中,以便插入到浏览器的任何页面中。
在之前,每次我们需要编写自己的 Bookmarklet
代码时,不仅复杂而且重复,这使得我们不得不查找大量的在线文档,并在浏览器的开发工具中输入代码来测试。因此,bookmarkletify
这个 npm 包就应运而生了。它旨在简化 Bookmarklet
开发的流程,通过将普通的 JavaScript 代码转换成一个可用于保存到书签栏中的单行压缩代码。
在本篇文章中,我们将介绍如何使用 bookmarkletify
生成自己的 Bookmarklet
。
安装 bookmarkletify
首先,我们需要确认您已经安装 Node.js
。当您的 Node.js
安装完成后,我们可以在命令行中输入以下内容来全局安装 bookmarkletify
:
npm install -g bookmarkletify
这将会将 bookmarkletify
安装在全局路径中,以便以后在任何地方使用。
使用 bookmarkletify
接着,假如您已有一段 JavaScript 代码,我们可以通过在命令行中输入以下内容来将其转换为 Bookmarklet
:
bookmarkletify < path/to/script.js > path/to/bookmarklet.js
在上面的命令中,我们将使用 <
和 >
在输入和输出之间进行传输。该命令将从文件 script.js
读取输入内容,并将其压缩成一行,并将其保存到名为 bookmarklet.js
的新文件中。
一个示例的命令如下:
bookmarkletify < ./test.js > ./bookmarklet.js
此命令会将文件 ./test.js
读取为输入,然后压缩成一行,并将其保存到新文件 ./bookmarklet.js
中。
测试样例
以下代码是 Bookmarklet
示例代码,可以将文本框中的内容复制到剪贴板中:
javascript:(function(){ const textarea = document.createElement('textarea') textarea.value = "测试代码"; document.body.appendChild(textarea) textarea.select() document.execCommand('copy') document.body.removeChild(textarea) })()
要将其转换为 Bookmarklet
,您可以创建一个名为 test.js
的新文件,并将示例代码贴到新文件中:
-- -------------------- ---- ------- ------------------- ------------------ ------------ ----- -------- - ---------------------------------- -------------- - ------- ----------------------------------- ----------------- ---------------------------- ----------------------------------- ----
接着,可以使用 bookmarkletify
命令来创建新的 Bookmarklet
:
bookmarkletify < ./test.js > ./bookmarklet.js
接下来,将生成的 bookmarklet.js
文件的内容复制到浏览器中新建的书签栏项的网址中。现在,您只需单击该书签就可以运行 Bookmarklet
代码,并在页面中执行复制剪贴板操作。
总结
借助 bookmarkletify
,开发 Bookmarklet
变得轻松简单。通过一些简单的步骤即可将普通的 JavaScript 代码转换成适用于浏览器的 Bookmarklet
代码。在您需要开发 Bookmarklet
时,不妨尝试使用 bookmarkletify
进行开发,它将极大地提高你的工作效率。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/78206