nhentai block popunders

Blocks popunder ads on nhentai

目前為 2018-04-02 提交的版本,檢視 最新版本

您需要先安裝使用者腳本管理器擴展,如 TampermonkeyGreasemonkeyViolentmonkey 之後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyViolentmonkey 後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyViolentmonkey 後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyUserscripts 後才能安裝該腳本。

你需要先安裝一款使用者腳本管理器擴展,比如 Tampermonkey,才能安裝此腳本

您需要先安裝使用者腳本管理器擴充功能後才能安裝該腳本。

(我已經安裝了使用者腳本管理器,讓我安裝!)

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

(我已經安裝了使用者樣式管理器,讓我安裝!)

// ==UserScript==
// @name        nhentai block popunders
// @namespace   sayixz01icji0pgmio1f4ayoth4vpuj2
// @description Blocks popunder ads on nhentai
// @license     MIT License
// @match       *://*.nhentai.net/*
// @version     1.0
// @grant       none
// @run-at      document-start
// ==/UserScript==

/* jshint bitwise: true, curly: true, eqeqeq: true, esversion: 6,
funcscope: false, futurehostile: true, latedef: true, noarg: true,
nocomma: true, nonbsp: true, nonew: true, notypeof: false,
shadow: outer, singleGroups: true, strict: true, undef: true,
unused: true, varstmt: true, browser: true */

(function () {
	"use strict";

	// Next popunder in one day
	function killPopunders() {
		const key = "popunder_state";

		let state;

		try {
			let savedState = localStorage.getItem(key);

			if (savedState) {
				state = JSON.parse(savedState);
			}
		} catch (ignore) {}

		if (!state) {
			state = {};
		}

		state.lock_until = Date.now() + 86400000;

		try {
			localStorage.setItem(key, JSON.stringify(state));
		} catch (ignore) {}
	}

	killPopunders();

	// Call this every 23h in case some dweeb leaves their porn tabs open
	setInterval(killPopunders, 82800000);
})();