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

多个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://*.com/questions/23223718/failed-to-execute-btoa-on-window-the-string-to-be-encoded-contains-characte

 

上一篇:Element table 表格实现单选


下一篇:el-table 设置了selection多选,选中状态不回显处理