这里记录一下油猴开发学习链接,以及可能自己编写的一些实用的脚本,经常更新。
主要通过https://learn.scriptcat.org/ 学习

记录一些技巧

  1. iframe的处理

这里分为两种,一种是同域名的iframe嵌套,这种比较简单,直接先通过document的queryselect方法获取到这个iframe标签,然后通过这个iframe标签获取它的document,然后就可以用这个iframe对应的document查询它下面的元素了。

参考以下代码,这段代码是获取iframe的contenwindow,然后再查询它的元素

document.querySelector('#g_iframe').contentWindow.document.querySelector

另一种是不同域名的iframe嵌套,这种方法还需要学习后记录,暂留空。

  1. 脚本执行时,对应的元素还没动态加载出来

当前学会的一个思路是采用定时器,周期获取对应的元素,直到获取到不为null,那么就可以执行了,这种方式比较实用,记录一下
使用 setInterval 来进行循环判断,当获取元素不为空的时候继续执行,但需要注意不要创建过多的定时器,以及不使用的时候可以考虑销毁定时器,这里以找 class 名为 main 的元素为例。

let timer = setInterval(() => {
  if (document.querySelector(".main") !== null) {
    //找到了定时器,在这里处理就行
    clearInterval(timer);
  }
}, 1000);

  1. 自动播放video

思路为:先通过document的select找到video,然后将他静音(否则不允许脚本来播放),然后通过video的play直接播放(如果本身就是播放状态会刷新一下,所以如果能判断一下最好)
静音对应代码:

xxx.muted = true

标签: 油猴, Tampermonkey

添加新评论