如何用Tampermonkey操控JWPLAYER?

How to manipulate JWPLAYER with Tampermonkey?

我一直在尝试使用 tampermonkey 来操纵 JWPlayer 外部。

我遇到的问题是 "JWPlayer" 没有定义。

var player = jwplayer("myVideo");

简单地将播放器声明为 jwplayer 是不可能的。 为了修复我已经 "import" jwplayer.js:

// @require      https://vidstreaming.io/js/jw8.9/jwplayer.js

这没用...


我的objective:是通过tampermonkey

到下面的

当我使用浏览器时,我可以使用开发者工具

getPosition()获取视频当前播放时间

然后 seek() 从那里玩..

jwplayer().getPosition()
jwplayer().seek(X)

知道如何 "import" jwpalyer.js 进入 Tampermonkey 脚本吗?

如果开发工具对你有用:

jwplayer().getPosition()

那么你想要的是访问 window.jwplayer 全局变量。如果您不使用任何 GM 特定功能,您只需确保您的脚本在播放器加载后启动。例如。这应该已经够晚了:

// @run-at      document-idle

如果您正在使用某些 @grant 权限,仍然可以通过 unsafe window 权限:

@grant unsafeWindow

那么,这就是你运行:

unsafeWindow.jwplayer().getPosition()

请注意警告:

This command can open certain security holes in your user script, and it is recommended to use this command sparingly.

Please be sure to read the entire article and understand it before using it in a script.

因此请务必阅读文章并了解不要将任何 greasemonkey 功能暴露给外部网页。 从不将它与#include *一起使用。

// @grant unsafeWindow
// @require      https://urlto/jwplayer.js

;(function() {
    'use strict';
    document.addEventListener("DOMContentLoaded", function(event) {
     var ownPlayer = jwplayer();
     ownPlayer.on("ready",function(e) {
        console.log(this.getPlaylist());
     });
    });
})();