AdguardTeam / AdguardTeam/Scriptlets

Add new scriptlet — 'disable-pageview-api'

Open
#508 0 comments 0 reactions 1 assignee Claimed by @maximtop View on GitHub
Feature request Priority: P4
Dominant language
JavaScript
Stars
195
Forks
33
PR merge metrics
No merged PRs in 30d

Description

YouTube uses pageview api to show popup "Video paused. Continue watching?" when user is not interacting with the page.

/// disable-pageview-api.js
(function(){
// based on https://addons.mozilla.org/en-US/firefox/addon/disable-page-visibility/
// visibilitychange events are captured and stopped
document.addEventListener("visibilitychange", function(e) {
e.stopImmediatePropagation();
}, true);
// document.visibilityState always returns false
Object.defineProperty(Document.prototype, "hidden", {
get: function hidden() {
return false;
},
enumerable: true,
configurable: true
});
// document.visibilityState always returns "visible"
Object.defineProperty(Document.prototype, "visibilityState", {
get: function visibilityState() {
return "visible";
},
enumerable: true,
configurable: true
});
})()

Discussion on reddit regarding it:
https://www.reddit.com/r/firefox/comments/f0ewaq/any_way_to_disable_pageview_api_via_unlock_origin/

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.