0
votes

I've been trying to manipulate a JWPlayer externaly, using tampermonkey.

The problem I get is that "JWPlayer" is not Defined.

var player = jwplayer("myVideo");

Simply declaring a player as a jwplayer is not possible. To fix i've breen to "import" the jwplayer.js:

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

Wich didn't work...


My objective: is to to the following through tampermonkey

When I'm at browser, using developer tools I can use

getPosition() to get the current playtime of the video

then seek() to play from there..

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

Any idea how to "import" jwpalyer.js into Tampermonkey script?

2

2 Answers

0
votes

If this works for you from dev tools:

jwplayer().getPosition()

then what you want is to access window.jwplayer global variable. If you are not using any GM specific features, all you need is to make sure your script starts after the player is loaded. Eg. this should be late enough:

// @run-at      document-idle

If you're using some @grant privileges, it is still possible, via unsafe window permission:

@grant unsafeWindow

Then, this is what you run:

unsafeWindow.jwplayer().getPosition()

Please pay attention to the warning:

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.

So make sure to read the article and understand not to expose any greasemonkey functions to the outside webpages. Never use it with #include *.

0
votes
// @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());
     });
    });
})();