ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

给网页添加书签脚本的一些个人记录

2021-09-26 13:31:06  阅读:150  来源: 互联网

标签:selection 网页 b64 书签 window 添加 btoa var document


多个iframe嵌套导致在DevTools中window与document经常变化导致无法准确获取目标元素

 

.querySelector使用否定来简化一些元素的查找

比如下面,表示没有class属性并且style属性是空值的div标签,  :not()语法根方法差不多

.querySelector("div:not([class])[style='']")

 

通过脚本生成用鼠标选中的效果

大体上是下面这样,但是不标准,我忘了代码从哪里抄来的了,应该要做一个判断,非常重要的地方在于window与document,假如页面包含多个iframe,那么就会有多个window与document,应该要使用包含目标元素的window与document

var selection = window.getSelection();
var range = document.createRange();
range.selectNodeContents(document.body);
selection.removeAllRanges();
selection.addRange(range);

 

脚本引发click事件后,可能需要调用setTimeout()才能获取目标值,否则拿到的是空值或是旧值

 

base64 btoa报错的一个可能解决示例办法

var str = "äöüÄÖÜçéèñ";
var b64 = window.btoa(unescape(encodeURIComponent(str)))
console.log(b64);

var str2 = decodeURIComponent(escape(window.atob(b64)));
console.log(str2);

更多请参考

https://stackoverflow.com/questions/23223718/failed-to-execute-btoa-on-window-the-string-to-be-encoded-contains-characte

 

标签:selection,网页,b64,书签,window,添加,btoa,var,document
来源: https://www.cnblogs.com/leikaifeng/p/15337687.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有