PHalfStudio 发表于 2023-3-23 11:12:02

求问JS在油猴脚本上运行问题

请问一下大佬们,本人刚开始写自己自用的脚本,为了给哔哩哔哩视频添加倍速。
在JS代码编写完之后,控制台测试通过了。但是放到油猴脚本里面却执行不了,不知道是什么问题。
是需要判断页面是否完全加载完再执行脚本吗?
!(data/attachment/forum/202303/23/111038x9s073b3kq85pr0o.png)
同样的代码放在油猴里却无法执行
(加了一个判断是否在视频网址内,不知道跟这个有没有关系)
!(data/attachment/forum/202303/23/111110y5rx9gfhztr7xhnv.png)

2233@ 发表于 2023-3-23 11:12:03

PHalfStudio 发表于 2023-3-23 12:08
!(data/attachment/forum/202303/23/120837prfhrvvjv9n757wc.png ...

这是我的代码
// ==UserScript==
// @name         New Userscript
// @namespace    https://bbs.tampermonkey.net.cn/
// @version      0.1.0
// @descriptiontry to take over the world!
// @author       You
// @match      https://www.bilibili.com/video/BV1Wb411o7J9/?*
// ==/UserScript==

(function() {
    'use strict';
    setTimeout(function(){
var newinput=document.createElement("li");
var a=document.getElementsByClassName("bpx-player-ctrl-playbackrate-menu-item"); newinput.innerText="3.0x";
newinput.setAttribute("class","bpx-player-ctrl-playbackrate-menu-item"); newinput.setAttribute("data-value",'3');
document.getElementsByClassName("bpx-player-ctrl-playbackrate-menu").insertBefore(newinput,a);
    },5000)
    // Your code here...
})();

李恒道 发表于 2023-3-23 11:39:19

settimeout加个延迟试试

PHalfStudio 发表于 2023-3-23 12:08:52

李恒道 发表于 2023-3-23 11:39
settimeout加个延迟试试

!(data/attachment/forum/202303/23/120837prfhrvvjv9n757wc.png)
开始出奇怪的BUG了

2233@ 发表于 2023-3-23 12:45:17

PHalfStudio 发表于 2023-3-23 12:08
!(data/attachment/forum/202303/23/120837prfhrvvjv9n757wc.png ...

我试过你的代码了,你的延迟再加多点否则读取不到,还有你加判断没有意义,因为你的代码只执行一次

李恒道 发表于 2023-3-23 14:44:04

2233@ 发表于 2023-3-23 12:46
这是我的代码
// ==UserScript==
// @name         New Userscript


细啊...哥哥还专门敲了一遍

wwwwwllllk 发表于 2023-3-23 18:41:21

https://scriptcat.org/script-show-page/500哥哥可以参考这个

PHalfStudio 发表于 2023-3-24 10:30:45

2233@ 发表于 2023-3-23 11:12
这是我的代码
// ==UserScript==
// @name         New Userscript


感谢大佬,后来自己研究明白了。

2233@ 发表于 2023-3-25 19:45:44

PHalfStudio 发表于 2023-3-24 10:30
感谢大佬,后来自己研究明白了。

不客气,之前忘记说了,如果你想快点加入倍数这个属性的活,可以用setInterval(function(){if()},1000)这是每一秒判断是否页面里的视频已经加载好,还要记得清除定时器,它不会自己清除的,claerInterval()
页: [1]
查看完整版本: 求问JS在油猴脚本上运行问题