多个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