首页 > 其他分享 >bookmarklet 代码的两点小技巧

bookmarklet 代码的两点小技巧

时间:2024-05-07 14:22:41浏览次数:23  
标签:需要 技巧 代码 base64 书签 js 两点 bookmarklet

bookmarklet是一种比较方便扩展网站功能的方式,可以在工具栏上添加自定义的书签执行定制的js代码。但由于书签内容的限制,不能出现很复杂的字符或者过长的字符串,因此需要对代码进行压缩,这在调试过程中非常不友好。根据经验,有两个小技巧可以提升开发和分发的效率。

1、将完成的代码转换为base64编码的字符串

由于大多数浏览器书签编辑功能只是一个简单的文本框,输入太多内容或者存在会车换行的代码无法一次性复制上去。对代码进行js压缩也会存在特殊符号以至于需要对代码进行转义等问题。为解决此问题,将代码实现转换为base64的字符串,然后再通过eval(atob(codeString))来执行,可以避免上述问题。而且,base64代码的修改如果需要还原,还可以保留原先的代码格式,不需要预先进行代码压缩。

 

2、通过动态请求执行代码实现快速开发调试

由于书签文本长度的限制或者在开发阶段需要频繁修改代码内容的时候,不断使用编辑工具转换、粘贴代码是一个繁琐的过程,因此代码在开发阶段最好保持源代码的状态,便于错误跟踪和修改。

下述代码就是动态请求本地服务器的代码内容,来完成目标网站上特定功能。需要注意的是,本地存放功能代码的服务器需要支持跨域请求。

javascript:window.fetch("http://127.0.0.1:20080/bookmarklet/code.js",{method: "GET",mode: "cors",cache: 'no-cache',headers: { 'Content-Type': 'text/plain'}}).then(a=>a.text()).then(b=>eval((b)))

 

标签:需要,技巧,代码,base64,书签,js,两点,bookmarklet
From: https://www.cnblogs.com/qinshoublog/p/18177136

相关文章

  • 深入了解Appium:Capability 高级配置技巧解析
    简介Appium的除了基础的Capability设置,还提供了许多辅助配置项,用于优化自动化测试。这些配置项旨在执行基础配置之外的附加操作。例如:指定设备别名、设备ID或是设置超时时间等,虽然这些不是必需的选项,但是为了实现更高效的测试,通常也建议依据测试的情况适当的添加。xcuites......
  • 用Golang做一个永久阻塞,有哪些小技巧 ?
    用Golang做一个永久阻塞,有哪些小技巧?磊丰 Go语言圈 2024-05-0608:30 广东 听全文Go语言圈Go语言开发者的学习好助手,分享Go语言知识,技术技巧,学习与交流Go语言开发经验,互动才有助于技术的提升,每天5分钟,助你GO语言技术快乐成长159篇原创内容公众号......
  • 如何用费曼技巧快速学习任何东西
    如何用费曼技巧快速学习任何东西为什么教学是理解的关键理查德·费曼是一位诺贝尔物理学奖得主,在量子力学、粒子物理等领域做出了重大贡献。他还开创了量子计算,引入了纳米技术的概念。他是康奈尔大学和加州理工学院的著名讲师。尽管取得了这些成就,费曼认为自己只是一个"努力......
  • 关于I2C知识点的记忆小技巧
    口诀:钟高数下是开始,(解释,时钟线保持高时,数据线由高拉到低是向下趋势,说明是“开始信号”)钟高数上是停止。(解释,时钟线保持高时,数据线由低拉到高是向上趋势,说明是“停止信号”)钟高数低ACK,(解释,时钟线保持高时,数据线保持低,说明是“ACK应答信号”)钟高数高非AK。(解释,时钟线保......
  • 利用PLC扫描周期实现一些小技巧
    上升沿//pulsegenerateIF#my_singalANDNOT#pulse_boolTHEN;END_IF;#pulse_bool:=#my_singal;数值记忆,记录当数值变化时事件//memory,my_order由外部主动触发IF#my_order<>#memory_orderTHEN;END_IF;#memory_order:=#my_order;清数据之......
  • 赏猎技巧之burp
    高并发Raceconditions竞态条件理论https://portswigger.net/web-security/race-conditions操作https://portswigger.net/burp/documentation/desktop/tools/repeater/send-group#sending-requests-in-parallelHTTP/1keep-alive不能开......
  • 深入浅出Spring源码,终于把学Spring源码的技巧吃透了!
    前言本人从事Java架构十余年,也曾经在几家一线大厂任职多年,一直认为最难啃的当属Spring源码,为此我自己录制了一套Spring由浅入深的源码教程,根据自己多年来对于Spring源码整理的课纲一步步带你深入学习Spring源码,教程课件都打包好提供给你mian费学习!由于官方限制,对Spring源码感兴......
  • C++ 异常处理机制详解:轻松掌握异常处理技巧
    C++异常处理C++异常处理机制允许程序在运行时处理错误或意外情况。它提供了捕获和处理错误的一种结构化方式,使程序更加健壮和可靠。异常处理的基本概念:异常:程序在运行时发生的错误或意外情况。抛出异常:使用throw关键字将异常传递给调用堆栈。捕获异常:使用try-cat......
  • SecureCRT常用技巧
    鼠标复制:(常用)options ->globaloptions-> Terminal 钩上Copyonselect,并钩上pasteon【right】button这样在SecureCRT中用鼠标选中一段字符,就可以直接复制到剪切板,按鼠标右键完成粘贴。双击复制并打开新session:(常用)options->globaloptions->Terminal->Tabs......
  • 一些运维技巧-抖音
    批量删除500万个文件rsync-av--deleteempty/demo/--exclude-from=exclude.txt#rsync快速通用的远程和本地文件复制工具#empty/源目录空目录,需要带/#demo/目标目录500万个文件目录,需要带/#--delete从目标目录中删除不在源目录的文件#--exclude-fr......