diff options
author | Teddy Wing | 2020-05-05 01:53:04 +0200 |
---|---|---|
committer | Teddy Wing | 2020-05-05 02:39:32 +0200 |
commit | c5eb7ee015af975d408d7814e34a3b8e2c963e75 (patch) | |
tree | b96447e5c4228d03ef739021a8275c819d05a6b3 | |
parent | 28eec915a92226520a9e761e12b86b7f7e87ab98 (diff) | |
download | netflix-immersive-c5eb7ee015af975d408d7814e34a3b8e2c963e75.tar.bz2 |
Try removing `postplay` class from player element
Use a `MutationObserver` to get an event when the Netflix player's class
attribute changes. Want to try removing the `.postplay` class, which
makes the player reduce to a small frame.
This doesn't currently work because when the player is reduced, a second
player element is added to the DOM, and my reference no longer
corresponds to the right player.
Looks like I'll need to try adding a mutation observer on child
elements, and watch for a new player element being added.
-rw-r--r-- | content.js | 51 |
1 files changed, 45 insertions, 6 deletions
@@ -1,8 +1,47 @@ -// Didn't work -netflix.reactContext.models.truths.data.skipCreditsEnabled = false; +function with_player (callback) { + var interval = setInterval( + function() { + var player = document.querySelector('.NFPlayer.nf-player-container'); -// Didn't work -netflix.reactContext.models.truths.data['wwwplayer.config.skip.credits.enabled'] = false + if (player) { + clearInterval(interval); -// Didn't work -netflix.reactContext.models.fastProps.data['wwwplayer.config.skip.credits.enabled'] = false + callback(player); + } + }, + 1000 + ); +} + +function init_mutation_observer (player) { + var observer = new MutationObserver(function(mutation_list) { + for (var i = 0; i < mutation_list.length; i++) { + var mutation = mutation_list[i]; + + console.log( + mutation.target.className + + '\n' + + mutation.oldValue + ); + + if (mutation.target.classList.includes('postplay')) { + mutation.target.classList = mutation.target.classList.filter(function(c) { + return c !== 'postplay'; + }); + } + } + }); + + observer.observe( + player, + { + attributeFilter: ['class'], + attributeOldValue: true + } + ); +} + + +with_player(function(player) { + init_mutation_observer(player); +}); |