Полезная информация

Общайтесь со знакомыми и друзьями в нашем сообществе в Facebook.

№1660117-09-2022 21:57:20

ВВП
Участник
 
Группа: Members
Зарегистрирован: 13-03-2021
Сообщений: 332
UA: Firefox 104.0

Re: Custom Buttons

Dumby
Кнопу видео в плеер помните ? Короче, сайты с МР 4 потихоньку замерзают, а с HLS наоборот. Как бы заставить перехватывать и HLS ...
Пока пользуюсь этим


Не могу кнопкой менять :
dom.quotaManager.temporaryStorage.fixedLimit    -1 на 2 .Вернее меняю ,но без возврата...

Отредактировано ВВП (26-09-2022 19:50:49)

Отсутствует

 

№1660227-09-2022 09:32:57

6e73epo
Участник
 
Группа: Members
Зарегистрирован: 06-05-2022
Сообщений: 192
UA: Chrome 85.0

Re: Custom Buttons

Dumby, Вот здесь под вторым спойлером вы выкладывали кнопку применения стилей без перезапуска браузера. Можно попросить переделать под консоль чисто для UserContent.css? Без кнопок меню и прочего, т.е. тупо вводом команд


Консоль вызывается со страницы about:config, ну или с другой страницы, где доступен Services.....
Добавление (редактированием UserContent.css) и удаление добавленного стиля работает, проверил:

Выделить код

Код:

chromepath = Services.dirsvc.get("UChrm", Ci.nsIFile);
chromepath.append("userContent.css");
chromefile = Services.io.newFileURI(chromepath);
ss = Cc["@mozilla.org/content/style-sheet-service;1"].getService(Ci.nsIStyleSheetService);

ss.loadAndRegisterSheet(chromefile, ss.USER_SHEET); // срабатывает при добавлении стиля

if (ss.sheetRegistered(chromefile, ss.USER_SHEET)) { ss.unregisterSheet(chromefile, ss.USER_SHEET) }; // срабатывает при удалении добавленного стиля

Но вот если закомментировать или удалить произвольный стиль из UserContent.css, который не был до этого добавлен, то не срабатывает без перезагрузки браузера

Отсутствует

 

№1660327-09-2022 10:38:54

Dumby
Участник
 
Группа: Members
Зарегистрирован: 12-08-2012
Сообщений: 2130
UA: Firefox 78.0

Re: Custom Buttons

6e73epo пишет

Консоль вызывается со страницы about:config, ну или с другой страницы, где доступен Services.....

Хорошо, попробую перерисовать.
Но тестировать не буду, это слишком душно.

скрытый текст

Выделить код

Код:

(async () => {
	var file = Services.dirsvc.get("UChrm", Ci.nsIFile);
	file.append("userContent.css");
	var href = Services.io.newFileURI(file).spec;

	var reload = async (sheet, obj) => {
		try {var style = await (await fetch(sheet.href)).text();}
		catch (ex) {return obj;}
		InspectorUtils.parseStyleSheet(sheet, style);

		obj[sheet.href] = style;
		for(var ind = 0, len = sheet.cssRules.length; ind < len; ind++) {
			var rule = sheet.cssRules.item(ind);

			rule.type == rule.IMPORT_RULE
			&& rule.styleSheet.href.startsWith("file:///")
			&& await reload(rule.styleSheet, obj);
		}
		return obj;
	}
	var sheet = InspectorUtils
		.getAllStyleSheets(document).find(sheet => sheet.href == href);
	var data = await reload(sheet, Object.create(null));

	var psu = "data:," + encodeURIComponent(`((href, data) => {

		var en = Services.ww.getWindowEnumerator(null);
		if (!en.hasMoreElements()) return;

		var doc = en.getNext().document;
		var reload = sheet => {
			var style = data[sheet.href]; if (!style) return;

			InspectorUtils.parseStyleSheet(sheet, style);
			for(var ind = 0, len = sheet.cssRules.length; ind < len; ind++) {
				var rule = sheet.cssRules.item(ind);

				rule.type == rule.IMPORT_RULE
				&& rule.styleSheet.href.startsWith("file:///")
				&& reload(rule.styleSheet);
			}
		}
		var sheet = InspectorUtils.getAllStyleSheets(doc).find(sheet => sheet.href == href);
		if (sheet) reload(sheet);

	})("${href}", ${JSON.stringify(data)});`);

	var count = Services.ppmm.childCount;
	var re = /^(?:web.*|file|extension|privilegedabout)$/;

	for(var ind = 0; ind < count; ind++) {
		var child = Services.ppmm.getChildAt(ind);
		var rt = child.remoteType;
		rt && re.test(rt) && child.loadProcessScript(psu, false);
	}
	var sss = Cc["@mozilla.org/content/style-sheet-service;1"].getService(Ci.nsIStyleSheetService);
	var args = [Services.io.newURI("data:text/css,:root{}"), sss.USER_SHEET];
	setTimeout(() => {
		sss.loadAndRegisterSheet(...args);
		sss.unregisterSheet(...args);
	}, 500);
})();

ВВП пишет

Не могу кнопкой менять

Код кнопки можно посмотреть?

Отсутствует

 

№1660427-09-2022 11:50:36

ВВП
Участник
 
Группа: Members
Зарегистрирован: 13-03-2021
Сообщений: 332
UA: Firefox 105.0

Re: Custom Buttons

Dumby

Выделить код

Код:

custombutton://%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%0D%0A%3Ccustombutton%20xmlns%3Acb%3D%22http%3A//xsms.nm.ru/custombuttons/%22%3E%0A%20%20%3Cname/%3E%0A%20%20%3Cimage%3E%3C%21%5BCDATA%5Bdata%3Aimage/png%3Bbase64%2CiVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACtklEQVR4Xs2PS2hUZwCFv///783M3BszziuvptEhEhuTYtQUVLQl0WroQnzQRQUpLVr6AqO0Be2imy6KlC76QGpxVYp0GVrU4qM0GEQpaYRKGoy2xTYydh5J7nAnd3Lv/zd05aLLLvrB4cA5nMXh/0XwvtPvn5TvlY7Zo1/1u9OXBxMLlROxavkda+aHYfvCZ93uqck3Y0OAAgAQAOZUrOv6uDn94HeGBjZpFdQMP95SZB7PElZKqLikWBS0ZAQD/TW0a03c8eTI5k8Xr6ngbO96XShesyR92hh5c1LSMbAKNxaSyzfgJAztvVkarICFqk3xIdz6yWoLCuLgGy80zIjok9yV819WhnxfIaWmtSdNOgMP75QhiDDGIOKK3BNZZu8GqJrP2jWSpmREtcn5xTLx+KadO2B+TuN5MHZznu17M6RXJ9FGIhbrJPMppiZq+JUQfLg6Ztj9rEG3xJWsqMQle1Uz/pJYLmzamxX3xovcm/SXs0Z++7nK1FiBwkyZRjRbtyyPdxmyPRk84RQth3izTmZYPbiCF/s8pFdG1zSXr2puf/8nB/bzz/9SWeItSZp7Uoh0E2GslbRu67Iiqp7qfotw9gpWMI7IuVjSZve6CFMHSy27pXClRJslTGDQK5+GJw9TP/+aJwul8KI9/QHk+tBDX7PY/S46MYCWeYi1EapO6iJPGN9CtOYE0fC3yPxzyBsjTP/x1w3x4TNknx9uOdfRmdoZ0YjJrEeu7EW7HUhrBQLQUQD+LMxPQWUSa6nA/fver4c+f3BUAOxaR/r4NjWysSv9UirrtMtYQkoRYQAAhIEIdGj0XHFhbvz2woXj3wRn75aY4BEsB1qPbmXP6X3y9dHDzkffHXHPXHrFPTP6svvFx3ust199ioNJmw3AY0AD/w4CsIEY4DyiOGADgv+SvwGoBhCxLpJApwAAAABJRU5ErkJggg%3D%3D%5D%5D%3E%3C/image%3E%0A%20%20%3Cmode%3E0%3C/mode%3E%0A%20%20%3Cinitcode%3E%3C%21%5BCDATA%5B/*Initialization%20Code*/%0A%0A%0A%28ps%20%3D%3E%20%7B%0A%20%20%0A%0A%20%20%20%20var%20s%20%3D%20%22dom.quotaManager.temporaryStorage.fixedLimit%22%3B%0A%20%0A%20%20%20%20this._handleClick%20%3D%20%28%29%20%3D%3E%20ps.setIntPref%28s%2C%20ps.getIntPref%28s%2C%20-1%29%20%3F%202%20%3A%20-1%29%3B%0A%0A%20%20%20%20var%20toggleImage%20%3D%20val%20%3D%3E%20%7B%0A%20%20%20%20%20%20%20%20this.icon.src%20%3D%20%28val%20%3D%20ps.getIntPref%28s%2C%202%29%29%0A%20%20%20%20%20%20%20%20%20%20%20%20%3F%20this.image%0A%20%20%20%20%20%20%20%20%20%20%20%20%3A%20%22data%3Aimage/png%3Bcharset%3Dutf-8%3Bbase64%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%3D%22%3B%20%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20this.tooltipText%20%3D%20val%20%3F%20%27%u0414%u0430%20Storage%27%20%3A%20%27%u041D%u0435%u0442%20Storage%27%3B%20%20%20%20%0A%20%20%20%20%7D%0A%20%20%20%20toggleImage%28%29%3B%0A%20%20%20%20ps.addObserver%28s%2C%20toggleImage%2C%20false%29%3B%0A%20%20%20%20addDestructor%28%28%29%20%3D%3E%20ps.removeObserver%28s%2C%20toggleImage%29%29%3B%0A%7D%29%28Services.prefs%29%3B%0A%0Athis.oncontextmenu%20%3De%3D%3E%20%7B%20e.button%20%26%26%20%21e.ctrlKey%20%26%26%20e.preventDefault%28%29%20%7D%3B%0Athis.onclick%20%3D%20e%20%3D%3E%20e.button%20%21%3D%201%20%7C%7C%20gShowPopup%28this%29%3B%20%0A%0A%5D%5D%3E%3C/initcode%3E%0A%20%20%3Ccode%3E%3C%21%5BCDATA%5B/*CODE*/%5D%5D%3E%3C/code%3E%0A%20%20%3Caccelkey%3E%3C%21%5BCDATA%5B%5D%5D%3E%3C/accelkey%3E%0A%20%20%3Chelp%3E%3C%21%5BCDATA%5B%5D%5D%3E%3C/help%3E%0A%20%20%3Cattributes/%3E%0A%3C/custombutton%3E

Отсутствует

 

№1660527-09-2022 12:00:30

6e73epo
Участник
 
Группа: Members
Зарегистрирован: 06-05-2022
Сообщений: 192
UA: Chrome 85.0

Re: Custom Buttons

Dumby, благодарю. Из нескольких тысяч стилей закомментировал 360 и сработало. До этого мне приходилось не менее сотни раз в день перезапускать браузер

Отсутствует

 

№1660627-09-2022 14:12:35

Dumby
Участник
 
Группа: Members
Зарегистрирован: 12-08-2012
Сообщений: 2130
UA: Firefox 78.0

Re: Custom Buttons

ВВП
Надо полагать ps.getIntPref(s, -1) == -1
вместо просто  ps.getIntPref(s, -1)

Отсутствует

 

№1660727-09-2022 14:46:37

ВВП
Участник
 
Группа: Members
Зарегистрирован: 13-03-2021
Сообщений: 332
UA: Firefox 105.0

Re: Custom Buttons

Dumby
Да,заработало,но толку нет. Приморил этот storage. В 101 работает .Дальше - нет. Вот результат: просто зашел ,даже без авторизации И что? куча байтов имею..
c23bkpal.jpg
Только если dom.quotaManager.temporaryStorage.fixedLimit = 0 ,так поганки вылезают.

Отсутствует

 

№1660828-09-2022 12:19:10

Arcadav
Участник
 
Группа: Members
Зарегистрирован: 28-09-2022
Сообщений: 3
UA: Firefox 62.0

Re: Custom Buttons

Dumby пишет

Custom Buttons 0.0.7.0.0.26, paxmod и bootstrap в zip-папке.

Пытался скачать файл, но выдает ошибку. Пробовал через VPN и тоже не получилось.
Можно как-то получить расширение "Custom Buttons"?

Отсутствует

 

№1660928-09-2022 12:35:45

xrun1
Участник
 
Группа: Members
Зарегистрирован: 12-12-2013
Сообщений: 1160
UA: Firefox 105.0

Отсутствует

 

№1661028-09-2022 13:02:57

Arcadav
Участник
 
Группа: Members
Зарегистрирован: 28-09-2022
Сообщений: 3
UA: Firefox 62.0

Re: Custom Buttons

xrun1

xrun1 пишет

https://www.upload.ee/files/14536702/cu … x.zip.html

Скачал. А какой файл брать? Я думал, что смогу установить на ESR 91 и ESR 102. А выдает ошибку.
Подскажите пжлста.

Отсутствует

 

№1661128-09-2022 13:38:32

ВВП
Участник
 
Группа: Members
Зарегистрирован: 13-03-2021
Сообщений: 332
UA: Firefox 105.0

Re: Custom Buttons

Arcadav
Paxmod . Но этого мало. В каталоге в папке defaults надо рихтовать файлы и config.js тоже. Ищи на форуме.

Отсутствует

 

№1661228-09-2022 19:44:40

ВВП
Участник
 
Группа: Members
Зарегистрирован: 13-03-2021
Сообщений: 332
UA: Firefox 105.0

Re: Custom Buttons

Dumby
Как сделать этот код с цикличностью ? К,примеру через каждые 15сек
Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_DOM_STORAGES, () => {});

Отредактировано ВВП (28-09-2022 19:45:09)

Отсутствует

 

№1661328-09-2022 21:24:40

ifln
Участник
 
Группа: Members
Зарегистрирован: 20-09-2013
Сообщений: 231
UA: Firefox 102.0

Re: Custom Buttons

Кнопу видео в плеер помните ?

Перестала перехватывать по лкм видео на яплакал из их плеера после обновления ff с 91esr. Ютуб видео там же перехватывает.
Может кто проверить?

Отсутствует

 

№1661428-09-2022 22:26:38

ВВП
Участник
 
Группа: Members
Зарегистрирован: 13-03-2021
Сообщений: 332
UA: Firefox 105.0

Re: Custom Buttons

ifln
яплакал - не будет,наверное,там вроде flash Нет не флеш, будет.

Выделить код

Код:

custombutton://%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%0D%0A%3Ccustombutton%20xmlns%3Acb%3D%22http%3A//xsms.nm.ru/custombuttons/%22%3E%0A%20%20%3Cname%3E%u0412%u0438%u0434%u0435%u043E%20%u0432%20Potplayer%3C/name%3E%0A%20%20%3Cimage%3E%3C%21%5BCDATA%5Bdata%3Aimage/x-icon%3Bbase64%2CAAABAAEAEhIAAAEAIACABQAAFgAAACgAAAASAAAAJAAAAAEAIAAAAAAAWAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8kEBaqMcAOxzCgD7dAsA93UMAPh1DQD4dgwA+HULAPh2DAD4dg0A+HUMAPh2DQD4dQwA93IJAPiWGADt5kAAfgAAAAD+bQAWxSgA1FcAAP9LAAD8TwAA/E4AAPtPAAD7TwAA/E8AAP1PAAD8TwAA/U8AAPxPAAD7TgAA+08AAPpLAAD9rBwA4/VVBiDpTw8+mhkA81AAAP9ZAAD7WgAA+1gAAPtaAAD8WwAA/VwAAPxbAAD8WgAA/VoAAPxYAAD7WgAA+lwAAPpPAAD5ixQA8OpNDFHeQQpNfgsA9E8AAP5XAAD7YAAA/F8AAPxbAAD8WAAA/VgAAP1YAAD9WAAA/VsAAP1hAQD8YgAA/FoAAPtRAAD5gA4A6+JFDmbkSA5KiBAA9E8AAP1hAQD7aAQA/F0AAPxYAAD8WAAA/VgAAP1YAAD9WAAA/VgAAP1hAQD8awQA/GcCAPtaAAD5ihMA6uVKD2bvUBFKjRQA804AAP1pBAD7bQcA/FwAAPxXAAD8VwAA/VcAAP1XAAD9VwAA/VgAAP1hAQD7cwcA/HEFAPtgAAD5kBcA6udMD2b6Uw1LuCgA9VQAAP+KFgD8ZgQA/FQAAP1TAAD+TwAA/UgAAP5RAAD+WgAA/lgAAP1WAAD+awYA/ZYYAP2MEgD6tSkA8/tdEWD/VglL4DkA9H8MAP+LEgD8VAAA/U4AAPxwCAD9pCEA/oYPAP9PAAD+RwAA/1QAAP5VAAD9VQAA+5QYAP29KQD63jwA8/9iEmD/WwhL/0oD9K0iAP9zBgD8UQAA/UoAAP2PFwD99VgP/u1WDv+rKQD+bQMA/0wAAP5OAAD9TgAA/X4NAP3eNgD7/1EE8/9uHmD/YwxL/2AT9MssAP9hAAD9UQAA/ksAAP2XHAL++3Ym//+RNv7/eyn/1VYa/pomB/9pBAD+TgAA/WsFAP7nPwb7/2od8/9+M2D/bhFL/3Ej9NgzAP9cAAD9UQAA/kwAAP2gJQf+/Y1C//+oXv7/o1///61b/v2MOP+fLw3+RwAA/WQEAP7iThT7/3wv8/+GPGD/dyNL/4Mw9dpAC/9mAAD8TwAA/lAAAP2uLgn+/6BT///Bdv7/uW3+/69f/+qBPP6TKhL9QwAA/WwGAP3pXRr7/4cy8/+GOmD/gDBK/5ZH8+BRE/+IEQH8UQAA/mYAAP3BPwn9/79T/v/kb///vFL++3Ig/8knAP6LCQD9aQAA+58cA/39fDH7/59L8v+LPV//hjhJ/6Zd8/ZwJv/ARRf8bgIA/ZAIAPzjVQr9/9VO/v/NTP3/bxT+/EAA/u5LEf3xUhP+3EIM/e97KP3/v1r6/81i8f+YQV//jD1M/6pn9P+fUf/2mkP8uzAE/LcZAPzuRQD9/3IY/P9hGP3/TQ/+/2Qc/f90JP7/biD9/5E5/P/xaPz//2j6//Ns8v+jP2H/pE46/7Ni7v+4bv//2Gf//rM3/+9SCP/8NwH+/0kP//9gGv//dif//4Ew//+DL///nk7//+ib////pv///5f+//uX7v+YQEsAAAAL/6pMsv+2av//5Wf6//9w+v/nffv/plz6/4U6+/+HOvv/mU37/7Fl+//Yofv///D7///w+v//svv//7H3/9V1uf+6ZPAAAAAA/4EkFP+9T3v/6Wqh//+Knf//rJ7//7Gf//qyn//+vaD//8Sg//+9n///wJ7//9Od///Lnf/0o57/ymOB/50kGQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA%3D%5D%5D%3E%3C/image%3E%0A%20%20%3Cmode%3E0%3C/mode%3E%0A%20%20%3Cinitcode%3E%3C%21%5BCDATA%5B%28func%20%3D%3E%20%7B%0A%09var%20sysPlayerName%20%3D%20%22Pot%20Player%22%3B%0A%20%20%20%20%20%20%20%20%0A%09var%20path%20%3D%20%22D%3A%5C%5CPotPlayer%5C%5CPotPlayerMini64.exe%22%3B%0A%09var%20videoMoved%20%3D%20%22%u0412%u0438%u0434%u0435%u043E%20%u043F%u0435%u0440%u0435%u043D%u0435%u0441%u0435%u043D%u043E%20%u0432%20%22%20+%20sysPlayerName%3B%0A%09var%20noFound%20%3D%20%22%u041D%u0435%20%u043D%u0430%u0439%u0434%u0435%u043D%u043E%20%u0432%u0438%u0434%u0435%u043E%20%u043D%u0430%20%u0441%u0442%u0440%u0430%u043D%u0438%u0446%u0435%2C%20%u0434%u043E%u0441%u0442%u0443%u043F%u043D%u043E%u0435%20%u0434%u043B%u044F%20%u043F%u0435%u0440%u0435%u043D%u043E%u0441%u0430%20%u0432%20%22%20+%20sysPlayerName%3B%0A%20%20%20%20%20%20%20%20%0A%09%0A%09this.label%20%3D%20%22%u041E%u0442%u043A%u0440%u044B%u0442%u044C%20%u0432%u0438%u0434%u0435%u043E%20%u0432%20%22%20+%20sysPlayerName%3B%0A%09this.tooltipText%20%3D%20%22%u041B%3A%20%u0412%u0438%u0434%u0435%u043E%20%u0432%20%u043F%u043B%u0435%u0435%u0440%5Cn%u041F%3A%20%u0412%u0438%u0434%u0435%u043E%20%u0438%u0437%20Clipboard%22%3B%0A%0A%09this._handleClick%20%3D%20%28%29%20%3D%3E%20%7B%0A%09%09var%20msgName%20%3D%20_id%20+%20%22%3APlayer%22%3B%0A%09%09var%20listener%20%3D%20%28%7Bdata%7D%29%20%3D%3E%20data%20%3F%20run%28%5Bdata%5D%29%20%3A%20notify%28%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20var%20listener%20%3D%20%28%7Bdata%7D%29%20%3D%3E%20data%20%3F%20run%28%5Bdata%5D%2C%20true%29%20%3A%20notify%28%29%3B%0A%09%09messageManager.addMessageListener%28msgName%2C%20listener%29%3B%0A%09%09addDestructor%28%28%29%20%3D%3E%20messageManager.removeMessageListener%28msgName%2C%20listener%29%29%3B%0A%0A%09%09var%20url%20%3D%20%22data%3Acharset%3Dutf-8%2C%22%20+%20encodeURIComponent%28%0A%09%09%09%60%28%24%7Bfunc%7D%29%28%29%60.replace%28%22MSG_NAME%22%2C%20msgName%29%0A%09%09%09%09.replace%28%22VIDEO_MOVED%22%2C%20encodeURIComponent%28videoMoved%29%29%0A%09%09%09%09.replace%28%22CONFIRM%22%2C%20encodeURIComponent%28%22%20%20%20%20%20%20%20%20%20%u041E%u0442%u043A%u0440%u044B%u0442%u044C%20%u0441%u0441%u044B%u043B%u043A%u0443%20%u0432%20%u043F%u043B%u0435%u0435%u0440%u0435%20%3F%22%29%29%0A%09%09%29%3B%0A%09%09%28this._handleClick%20%3D%20%28%29%20%3D%3E%20gBrowser.selectedBrowser.messageManager.loadFrameScript%28url%2C%20false%29%29%28%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%0A%09%7D%0A%09this.onclick%20%3D%20e%20%3D%3E%20e.button%20%21%3D%201%20%7C%7C%20gShowPopup%28this%29%3B%20%0A%09this.oncontextmenu%20%3D%20e%20%3D%3E%20%7B%0A%09%09if%20%28e.ctrlKey%20%7C%7C%20e.shiftKey%20%7C%7C%20e.altKey%29%20return%3B%0A%09%09e.preventDefault%28%29%3B%0A%20%20%20%20%20%20%20%20%20if%20%28custombuttons.confirmBox%28null%2C%22%20%20%20%20%20%20%u0417%u0430%u043F%u0443%u0441%u0442%u0438%u0442%u044C%20%u043F%u043B%u0435%u0435%u0440%20%u0438%u0437%20%u0431%u0443%u0444%u0435%u0440%u0430%20%u043E%u0431%u043C%u0435%u043D%u0430%20%3F%20%20%22%2C%20%22%u0414%u0430%22%2C%20%22%u041E%u0442%u043C%u0435%u043D%u0430%22%29%20%29%20%7B%20%20%20%20%20%20%20%20%0A%09%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20run%28%5BgClipboard.read%28%29%2C%20%22/add%22%5D%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20window.close%28%29%3B%0A%7D%09%0A%7D%3B%0A%0A%0A%09var%20popup%20%3D%20document.getElementById%28%22contentAreaContextMenu%22%29%3B%0A%09addEventListener%28%22popupshowing%22%2C%20%7B%0A%09%09get%20hidden%28%29%20%7B%0A%09%09%09return%20%21%28gContextMenu.onLink%20%7C%7C%20gContextMenu.onVideo%20%7C%7C%20gContextMenu.onPlainTextLink%29%3B%0A%09%09%7D%2C%0A%09%09handleEvent%28%29%20%7B%0A%09%09%09if%20%28this.hidden%29%20return%3B%0A%09%09%09var%20menuitem%20%3D%20document.createXULElement%28%22menuitem%22%29%3B%0A%09%09%09for%28var%20args%20of%20Object.entries%28%7B%0A%09%09%09%09image%3A%20self.image%2C%0A%09%09%09%09oncommand%3A%20%22play%28%29%3B%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%0A%09%09%09%09class%3A%20%22menuitem-iconic%22%2C%0A%09%09%09%09label%3A%20%22%u041E%u0442%u043A%u0440%u044B%u0442%u044C%20%u0432%20%22%20+%20sysPlayerName%0A%09%09%09%7D%29%29%0A%09%09%09%09menuitem.setAttribute%28...args%29%3B%0A%09%09%09menuitem.play%20%3D%20%28%29%20%3D%3E%20play%28gContextMenu.linkURL%20%7C%7C%20gContextMenu.mediaURL%29%3B%0A%09%09%09document.getElementById%28%22context-savelink%22%29.before%28menuitem%29%3B%0A%09%09%09addDestructor%28%28%29%20%3D%3E%20menuitem.remove%28%29%29%3B%0A%09%09%09this.handleEvent%20%3D%20e%20%3D%3E%20%7B%0A%09%09%09%09if%20%28e.target%20%3D%3D%20popup%29%20menuitem.hidden%20%3D%20this.hidden%3B%0A%09%09%09%7D%0A%09%09%7D%0A%09%7D%2C%20false%2C%20popup%20%7C%7C%201%29%3B%0A%0A%09var%20play%20%3D%20link%20%3D%3E%20custombuttons.confirmBox%28null%2C%20%22%20%20%20%20%20%20%20%20%20%20%u041E%u0442%u043A%u0440%u044B%u0442%u044C%20%u0441%u0441%u044B%u043B%u043A%u0443%20%u0432%20%u043F%u043B%u0435%u0435%u0440%u0435%20%3F%22%2C%20%22%u0414%u0430%22%2C%20%22%u041E%u0442%u043C%u0435%u043D%u0430%22%29%20%26%26%20run%28%5Blink%5D%29%3B%0A%09%0A%09var%20run%20%3D%20%28...a%29%20%3D%3E%20%7B%0A%09%09var%20file%20%3D%20FileUtils.File%28path%29%3B%0A%09%09%28run%20%3D%20%28args%2C%20quit%29%20%3D%3E%20%7B%0A%09%09%09if%20%28%21file.exists%28%29%29%20return%20custombuttons.alertBox%28%22File%20not%20exists%21%22%2C%20path%29%3B%0A%09%09%09var%20process%20%3D%20Cc%5B%22@mozilla.org/process/util%3B1%22%5D.createInstance%28Ci.nsIProcess%29%3B%0A%09%09%09gBrowser.selectedBrowser.browsingContext.mediaController.pause%28%29%3B%0A%09%09%09process.init%28file%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20args.push%28%22/play%22%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20window.close%28%29%3B%0A%09%09%09process.runwAsync%28args%2C%20args.length%29%3B%0A%09%09%09%0A%09%09%7D%29%28...a%29%3B%0A%09%7D%0A%09var%20notify%20%3D%20%28%29%20%3D%3E%20%7B%0A%09%09var%20name%20%3D%20_id%20+%20%22-noFound%22%3B%0A%09%09var%20as%20%3D%20Cc%5B%22@mozilla.org/alerts-service%3B1%22%5D.getService%28Ci.nsIAlertsService%29%3B%0A%09%09%28notify%20%3D%20%28%29%20%3D%3E%20setTimeout%28as.closeAlert%2C%201150%2C%20name%2C%20as.showAlertNotification%28%0A%09%09%09%22chrome%3A//global/skin/icons/question-48.png%22%2C%20%22%22%2C%20noFound%2C%20false%2C%20%22%22%2C%20null%2C%20name%0A%09%09%29%29%29%28%29%3B%0A%09%7D%0A%0A%7D%29%28%28%29%20%3D%3E%20%7B%0A%0A%09var%20found%2C%20videoMoved%2C%20SEND%20%3D%20msg%20%3D%3E%20%7B%0A%09%09found%20%3D%20true%3B%0A%09%09if%20%28%21msg%20%7C%7C%20Cc%5B%22@mozilla.org/embedcomp/prompt-service%3B1%22%5D%0A%09%09%09.getService%28Ci.nsIPromptService%29%0A%09%09%09.confirm%28content%2C%20null%2C%20decodeURIComponent%28%22CONFIRM%22%29%29%0A%09%09%29%20%7B%0A%09%09%09if%20%28msg%29%20videoMoved%20%3D%20decodeURIComponent%28%22VIDEO_MOVED%22%29%3B%0A%09%09%09sendAsyncMessage%28%22MSG_NAME%22%2C%20msg%29%3B%0A%09%09%7D%0A%09%09else%20return%20true%3B%0A%09%7D%0A%0A%09var%20YoutubeID%20%3D%20/%28%3F%3Ayoutube%28%3F%3A-nocookie%29%3F%5C.com%5C/%28%3F%3A%5B%5E%5C/%5Cn%5Cs%5D+%5C/%5CS+%5C/%7C%28%3F%3Av%7Ce%28%3F%3Ambed%29%3F%29%5C/%7C%5CS*%3F%5B%3F%26%5Dv%3D%29%7Cyoutu%5C.be%5C/%29%28%5Ba-zA-Z0-9_-%5D%7B11%7D%29%28%3F%3A%5CW%7C%24%29/%3B%0A%0A%09var%20tmp%20%3D%20%27%27%2C%0A%09tmpp%20%3D%20%27%27%2C%0A%09innerA%20%3D%20%27%3Cdiv%20style%3D%22display%3Ablock%21important%3Bcolor%3A%2300ff00%21important%3Bwidth%3A250px%21important%3Bfont%3Abold%2016px%20serif%21important%3Bz-index%3A999%21important%3Bopacity%3A1%21important%3Bvisibility%3A%20visible%21important%3B%27%2C%0A%09innerB%20%3D%20%27left%3A5px%21important%3Bposition%3Aabsolute%21important%3Bheight%3Aauto%21important%3Bbox-sizing%3Aborder-box%21important%3Bpadding%3A5px%21important%3Bmargin%3A5px%21important%3B%27%2C%0A%09//stopPl%20%3D%20%22javascript%3A%28function%28%29%7Bv%3Ddocument.getElementById%28%27movie_player%27%29%3Bif%28v%29%7Bv.stopVideo%28%29%7Delse%7Bv%3Ddocument.getElementsByTagName%28%27video%27%29%3Bif%28v%29%7Bv%5B0%5D.src%3D%27%27%3Btry%7Bv%5B0%5D.load%28%29%7Dcatch%28e%29%7B%7D%7D%3B%7D%7D%29%28%29%3B%22%2C%0A%09ytIMGouter%20%3D%20function%20%28ytID%29%20%7B%0A%09%09return%20%27%3Cdiv%20width%3D%22100%25%22%3E%3Cbr%20/%3E%3Ca%20target%3D%22_blank%22%20href%3D%22https%3A//www.youtube.com/watch%3Fv%3D%27%20+%20ytID%20+%20%27%22%3E%3Cimg%20src%3D%22https%3A//i.ytimg.com/vi/%27%20+%20ytID%20+%20%27/hqdefault.jpg%22%3E%3C/a%3E%3Cbr%20/%3E%27%20+%20innerA%20+%20%27background-color%3Ablack%21important%3Bposition%3Arelative%21important%3Bbottom%3A20px%21important%3B%22%3E%26nbsp%3B%26nbsp%3B%27%20+%20videoMoved%20+%20%27%3C/div%3E%3Cbr%20/%3E%3C/div%3E%3Cbr%20/%3E%27%0A%09%7D%2C%0A%09handlWin%20%3D%20function%20%28currentWin%29%20%7B%0A%09%09tmp%20%3D%20%27%27%3B%0A%09%09var%20elem%20%3D%20currentWin.document.getElementsByTagName%28%27video%27%29%2C%0A%09%09currLoc%20%3D%20currentWin.location%3B%0A%09%09if%20%28elem.length%20%3E%200%29%20%7B%0A%09%09%09if%20%28currLoc.hostname.indexOf%28%27youtu%27%29%20%21%3D%20-1%20%26%26%20%28tmp%20%3D%20currLoc.toString%28%29.match%28YoutubeID%29%29%20%26%26%20tmp%5B1%5D.length%20%3D%3D%2011%29%20%7B%0A%0A%09%09%09%09if%20%28SEND%28%27https%3A//www.youtube.com/watch%3Fv%3D%27%20+%20tmp%5B1%5D%29%29%20return%3B%0A%0A%09%09%09%09videoMovedbox%20%3D%20currentWin.document.createElement%28%27videoMoved%27%29%3B%0A%09%09%09%09videoMovedbox.innerHTML%20%3D%20innerA%20+%20innerB%20+%20%27top%3A-15px%21important%3B%22%3E%3Cb%3E%27%20+%20videoMoved%20+%20%27%3C/b%3E%3C/div%3E%27%3B%0A%0A%09%09%09%09//loadURI%28stopPl%29%3B%0A%09%09%09%09%28function%28d%29%7Bvar%20v%3Dd.getElementById%28%27movie_player%27%29%3Bif%28v%29%7Btry%7Bv.stopVideo%28%29%7Dcatch%7B%7D%7D%0A%09%09%09%09%09else%7Bv%3Dd.getElementsByTagName%28%27video%27%29%3Bif%28v%5B0%5D%29%7Bv%5B0%5D.src%3D%27%27%3Btry%7Bv%5B0%5D.load%28%29%7Dcatch%7B%7D%7D%3B%7D%7D%29%28currentWin.document%29%3B%0A%0A%09%09%09%09currentWin.document.getElementById%28%27eow-title%27%29.appendChild%28videoMovedbox%29%3B%0A%09%09%09%09return%20true%3B%0A%09%09%09%7D%3B%0A%09%09%09for%20%28i%20%3D%200%3B%20i%20%3C%20elem.length%3B%20i++%29%20%7B%0A%09%09%09%09if%20%28%28%28tmp%20%3D%20getSrc%28elem%5Bi%5D.parentNode%2C%20currLoc%29%29%20%26%26%20tmp.length%20%3E%202%29%20%7C%7C%20%28i%20%3D%3D%200%20%26%26%20currentWin.document.body.innerHTML.substring%280%2C%207%29%20%3D%3D%20%27%3Cvideo%20%27%20%26%26%20%28tmp%20%3D%20currLoc.toString%28%29%29%29%29%20%7B%0A%0A%09%09%09%09%09if%20%28SEND%28tmp%29%29%20return%3B%0A%0A%09%09%09%09%09videoMovedbox%20%3D%20currentWin.document.createElement%28%27videoMoved%27%29%3B%0A%09%09%09%09%09videoMovedbox.innerHTML%20%3D%20innerA%20+%20innerB%20+%20%27top%3A20px%21important%3Bbackground-color%3Ablack%21important%3B%22%3E%27%20+%20videoMoved%20+%20%27%3C/div%3E%27%3B%0A%0A%09%09%09%09%09if%20%28currLoc.hostname%20%3D%3D%20%27www.youtube.com%27%29%20%7B%0A%09%09%09%09%09%09elem%5Bi%5D.parentNode.parentNode.appendChild%28videoMovedbox%29%3B%0A%09%09%09%09%09%7D%20else%20%7B%0A%09%09%09%09%09%09elem%5Bi%5D.parentNode.appendChild%28videoMovedbox%29%3B%0A%09%09%09%09%09%7D%3B%0A%09%09%09%09%09elem%5Bi%5D.src%20%3D%20%27%27%3B%0A%09%09%09%09%09try%20%7B%0A%09%09%09%09%09%09elem%5Bi%5D.load%28%29%0A%09%09%09%09%09%7D%20catch%20%28e%29%20%7B%7D%3B%0A%09%09%09%09%09return%20true%3B%0A%09%09%09%09%7D%0A%09%09%09%7D%0A%09%09%7D%3B%0A%0A%09%09currentWin._elems%20%3D%20currentWin.document.getElementsByTagName%28%27iframe%27%29%3B%0A%09%09if%20%28currentWin._elems.length%20%3E%200%29%20%7B%0A%09%09%09for%20%28currentWin._iCounter%20%3D%200%3B%20currentWin._iCounter%20%3C%20currentWin._elems.length%3B%20currentWin._iCounter++%29%20%7B%0A%09%09%09%09if%20%28%28currentWin._elems%5BcurrentWin._iCounter%5D.src.indexOf%28%27youtube.com%27%29%20%3E%20-1%29%20%26%26%20%28tmp%20%3D%20currentWin._elems%5BcurrentWin._iCounter%5D.src.match%28YoutubeID%29%29%20%26%26%20%28tmp%5B1%5D.length%20%3D%3D%2011%29%29%20%7B%0A%0A%09%09%09%09if%20%28SEND%28%27https%3A//www.youtube.com/watch%3Fv%3D%27%20+%20tmp%5B1%5D%29%29%20return%3B%0A%0A%09%09%09%09currentWin._elems%5BcurrentWin._iCounter%5D.outerHTML%20%3D%20ytIMGouter%28tmp%5B1%5D%29%3B%0A%09%09%09%09%09return%20true%3B%0A%09%09%09%09%7D%3B%0A%09%09%09%09if%20%28currentWin._elems%5BcurrentWin._iCounter%5D.clientWidth%20%3E%2080%20%26%26%20currentWin._elems%5BcurrentWin._iCounter%5D.clientHeight%20%3E%2040%20%26%26%20handlWin%28currentWin._elems%5BcurrentWin._iCounter%5D.contentWindow%29%29%0A%09%09%09%09%09return%20true%3B%0A%09%09%09%7D%0A%09%09%7D%3B%0A%0A%09%09elem%20%3D%20currentWin.document.getElementsByTagName%28%27object%27%29%3B%0A%09%09currLoc%20%3D%20currentWin.location%3B%0A%09%09if%20%28elem.length%20%3D%3D%200%29%20%7B%0A%09%09%09elem%20%3D%20currentWin.document.getElementsByTagName%28%27embed%27%29%0A%09%09%7D%3B%0A%09%09if%20%28elem.length%20%3E%200%29%20%7B%0A%09%09%09for%20%28i%20%3D%200%3B%20i%20%3C%20elem.length%3B%20i++%29%20%7B%0A%09%09%09%09if%20%28elem%5Bi%5D.innerHTML.indexOf%28%27youtu%27%29%20%21%3D%20-1%20%26%26%20%28tmp%20%3D%20elem%5Bi%5D.innerHTML.match%28YoutubeID%29%29%20%26%26%20tmp%5B1%5D.length%20%3D%3D%2011%29%20%7B%0A%0A%09%09%09%09%09if%20%28SEND%28%27https%3A//www.youtube.com/watch%3Fv%3D%27%20+%20tmp%5B1%5D%29%29%20return%3B%0A%0A%09%09%09%09%09elem%5Bi%5D.outerHTML%20%3D%20ytIMGouter%28tmp%5B1%5D%29%3B%0A%09%09%09%09%09return%20true%3B%0A%09%09%09%09%7D%20else%20%7B%0A%09%09%09%09%09if%20%28elem%5Bi%5D.clientWidth%20%3E%2080%20%26%26%20elem%5Bi%5D.clientHeight%20%3E%2040%29%20%7B%0A%09%09%09%09%09%09if%20%28%28%28tmp%20%3D%20getSrc%28elem%5Bi%5D.parentNode%2C%20currLoc%29%29%20%7C%7C%20%28tmp%20%3D%20getLink%28elem%5Bi%5D%2C%20currLoc%29%29%29%20%26%26%20tmp.length%20%3E%202%29%20%7B%0A%0A%09%09%09%09%09%09%09if%20%28SEND%28tmp%29%29%20return%3B%0A%0A%09%09%09%09%09%09%09elem%5Bi%5D.outerHTML%20%3D%20innerA%20+%20%27background-color%3Ablack%21important%3Bbottom%3A20px%21important%3B%22%3E%26nbsp%3B%26nbsp%3B%27%20+%20videoMoved%20+%20%27%3C/div%3E%27%3B%0A%09%09%09%09%09%09%09return%20true%3B%0A%09%09%09%09%09%09%7D%3B%0A%09%09%09%09%09%7D%3B%0A%09%09%09%09%7D%0A%09%09%09%7D%3B%0A%09%09%7D%3B%0A%09%09return%20false%3B%0A%09%7D%3B%0A%0A%09function%20restProtHost%28lnkR%2C%20curLoc%29%20%7B%0A%09%09if%20%28lnkR.length%20%3D%3D%200%29%0A%09%09%09return%20%27%27%3B%0A%09%09let%20tr%20%3D%20lnkR.replace%28/%5E%3A%5C/%5C//%2C%20curLoc.protocol%20+%20%22//%22%29%3B%0A%09%09if%20%28%21tr.match%28/%5Ehttps%3F%3A%5C/%5C//i%29%29%20%7B%0A%09%09%09lnkR%20%3D%20tr.replace%28/%5E%5C/+/%2C%20%27%27%29%3B%0A%09%09%09if%20%28lnkR.split%28%27/%27%29%5B0%5D.split%28%27%3F%27%29%5B0%5D.split%28%27%23%27%29%5B0%5D.toLowerCase%28%29.match%28/%5E%28%3F%3A%5B-a-z%5Cd%5D+%5C.%29+%5Ba-z%5Cd%5D%7B2%2C6%7D%24/%29%29%20%7B%0A%09%09%09%09tr%20%3D%20curLoc.protocol%20+%20%27//%27%20+%20lnkR%3B%0A%09%09%09%7D%20else%20%7B%0A%09%09%09%09tr%20%3D%20curLoc.protocol%20+%20%27//%27%20+%20curLoc.host%20+%20%22/%22%20+%20lnkR%3B%0A%09%09%09%7D%0A%09%09%7D%3B%0A%09%09return%20tr%3B%0A%09%7D%3B%0A%0A%09function%20getSrc%28vobj%2C%20currentLoc%29%20%7B%0A%09%09var%20t%20%3D%20%27%27%2C%0A%09%09tt%20%3D%20%27%27%3B%0A%09%09if%20%28%28%28%28t%20%3D%20vobj.innerHTML.match%28/%3Cvideo.*%3F%5Cssrc%3D%28%3F%3A%28%3F%3A%27%28%5B%5E%27%5D*%29%27%29%7C%28%3F%3A%22%28%5B%5E%22%5D*%29%22%29%7C%28%5B%5E%5Cs%5D*%29%29/i%29%29%20%26%26%20%28t%29%20%26%26%20%28tt%20%3D%20t%5B1%5D%20%7C%7C%20t%5B2%5D%20%7C%7C%20t%5B3%5D%29%20%26%26%20tt.indexOf%28%27blob%3A%27%29%20%3D%3D%20-1%29%20%7C%7C%20%28%28t%20%3D%20vobj.innerHTML.match%28/%3Csource.*%3F%5Cssrc%3D%28%3F%3A%28%3F%3A%27%28%5B%5E%27%5D*%29%27%29%7C%28%3F%3A%22%28%5B%5E%22%5D*%29%22%29%7C%28%5B%5E%5Cs%5D*%29%29.*%3F%5Cstype%3D%5B%27%22%5D%3Fvideo%5C//i%29%29%20%26%26%20%28t%29%20%26%26%20%28tt%20%3D%20t%5B1%5D%20%7C%7C%20t%5B2%5D%20%7C%7C%20t%5B3%5D%29%29%29%20%26%26%20tt.length%20%3E%202%20%26%26%20tt.indexOf%28%27blob%3A%27%29%20%3D%3D%20-1%29%20%7B%0A%09%09%09if%20%28tt.indexOf%28%22.mp4/%3F%22%29%20%3D%3D%20-1%29%20%7B%0A%09%09%09%09tt%20%3D%20tt.replace%28/%26amp%3B/g%2C%20%22%26%22%29%0A%09%09%09%7D%3B%0A%09%09%09t%20%3D%20restProtHost%28tt%2C%20currentLoc%29%3B%0A%09%09%09return%20t%3B%0A%09%09%7D%3B%0A%09%09return%20%27%27%3B%0A%09%7D%3B%0A%0A%09function%20getLink%28obj%2C%20curLocation%29%20%7B%0A%0A%09%09if%20%28%21obj%20%7C%7C%20%21obj.tagName%29%0A%09%09%09return%20%27%27%3B%0A%09%09q%20%3D%20obj.tagName.toLowerCase%28%29%3B%0A%0A%09%09var%20getParam%20%3D%20function%20%28e%2C%20n%29%20%7B%0A%09%09%09var%20v%20%3D%20%27%27%2C%0A%09%09%09r%20%3D%20new%20RegExp%28%27%5E%28%27%20+%20n%20+%20%27%29%24%27%2C%20%27i%27%29%2C%0A%09%09%09param%20%3D%20e.getElementsByTagName%28%27param%27%29%3B%0A%09%09%09for%20%28var%20igp%20%3D%200%2C%20p%3B%20p%20%3D%20param%5Bigp%5D%3B%20igp++%29%20%7B%0A%09%09%09%09if%20%28p.hasAttribute%28%27name%27%29%20%26%26%20p.getAttribute%28%27name%27%29.match%28r%29%29%20%7B%0A%09%09%09%09%09v%20%3D%20p.getAttribute%28%27value%27%29%3B%0A%09%09%09%09%09break%0A%09%09%09%09%7D%3B%0A%09%09%09%7D%3B%0A%09%09%09return%20v%3B%0A%09%09%7D%3B%0A%0A%09%09var%20restPath%20%3D%20function%20%28f%2C%20s%29%20%7B%0A%09%09%09return%20%28f.substring%280%2C%204%29%20%3D%3D%20%27http%27%29%20%3F%20f%20%3A%20s.replace%28/%5B%23%3F%5D.*%24/%2C%20%27%27%29.replace%28/%5B%5E%5C/%5D*%24/%2C%20f%29%0A%09%09%7D%3B%0A%0A%09%09function%20videoLinkExtract%28fl%29%20%7B%0A%09%09%09alert%28fl%29%3B%0A%09%09%09var%20linkArr%20%3D%20%5B%5D%2C%0A%09%09%09outLinks%20%3D%20%5B%5D%2C%0A%09%09%09jj%20%3D%200%2C%0A%09%09%09lba%20%3D%20%27%27%2C%0A%09%09%09lbb%20%3D%20%27%27%2C%0A%09%09%09decodeURL%20%3D%20gBrowser.currentURI.spec%3B%20%7B%0A%09%09%09%09try%20%7B%0A%09%09%09%09%09return%20decodeURIComponent%28s%29%0A%09%09%09%09%7D%20catch%20%28e%29%20%7B%0A%09%09%09%09%09return%20unescape%28s%29%0A%09%09%09%09%7D%0A%09%09%09%7D%3B%0A%0A%09%09%09for%20%28var%20ij%20%3D%200%3B%20ij%20%3C%203%3B%20ij++%29%20%7B%0A%09%09%09%09lba%20%3D%20lba%20+%20String.fromCharCode%28parseInt%28%28Math.random%28%29%20*%2015%20+%201%29%20+%20%27%27%2C%2010%29%29%3B%0A%09%09%09%09lbb%20%3D%20lbb%20+%20String.fromCharCode%28parseInt%28%28Math.random%28%29%20*%2015%20+%2016%29%20+%20%27%27%2C%2010%29%29%3B%0A%09%09%09%7D%3B%0A%0A%09%09%09function%20pushWithMerit%28lnk%29%20%7B%0A%0A%09%09%09%09var%20merit%20%3D%20-11%3B%0A%09%09%09%09if%20%28lnk.match%28/%5Ehttps%3F%3A%5C/%5C//i%29%29%0A%09%09%09%09%09merit%20%3D%20merit%20+%2040%3B%0A%09%09%09%09if%20%28outLinks.length%20%3D%3D%200%29%0A%09%09%09%09%09merit%20%3D%20merit%20+%201%3B%0A%09%09%09%09if%20%28lnk.match%28/%5E%5C//%29%29%0A%09%09%09%09%09merit%20%3D%20merit%20+%207%3B%0A%09%09%09%09if%20%28lnk.match%28/%5E%5C/%5C//%29%29%0A%09%09%09%09%09merit%20%3D%20merit%20+%2030%3B%0A%09%09%09%09if%20%28lnk.match%28/240p%28%5B%5Ea-z%5D%7C%24%29/i%29%29%0A%09%09%09%09%09merit%20%3D%20merit%20+%201%3B%0A%09%09%09%09if%20%28lnk.match%28/%5B%5Ea-z%5D240%28%5B%5Ea-z0-9%5D%7C%24%29/i%29%29%0A%09%09%09%09%09merit%20%3D%20merit%20+%201%3B%0A%09%09%09%09if%20%28lnk.match%28/360p%28%5B%5Ea-z%5D%7C%24%29/i%29%29%0A%09%09%09%09%09merit%20%3D%20merit%20+%203%3B%0A%09%09%09%09if%20%28lnk.match%28/%5B%5Ea-z%5D360%28%5B%5Ea-z0-9%5D%7C%24%29/i%29%29%0A%09%09%09%09%09merit%20%3D%20merit%20+%203%3B%0A%09%09%09%09if%20%28lnk.match%28/480p%28%5B%5Ea-z%5D%7C%24%29/i%29%29%0A%09%09%09%09%09merit%20%3D%20merit%20+%205%3B%0A%09%09%09%09if%20%28lnk.match%28/%5B%5Ea-z%5D480%28%5B%5Ea-z0-9%5D%7C%24%29/i%29%29%0A%09%09%09%09%09merit%20%3D%20merit%20+%205%3B%0A%09%09%09%09if%20%28lnk.match%28/720p%28%5B%5Ea-z%5D%7C%24%29/i%29%29%0A%09%09%09%09%09merit%20%3D%20merit%20+%207%3B%0A%09%09%09%09if%20%28lnk.match%28/%5B%5Ea-z%5D720%28%5B%5Ea-z0-9%5D%7C%24%29/i%29%29%0A%09%09%09%09%09merit%20%3D%20merit%20+%207%3B%0A%09%09%09%09if%20%28lnk.match%28/%5C.mp4%28%5B%5Ea-z%5D%7C%24%29/i%29%29%0A%09%09%09%09%09merit%20%3D%20merit%20+%208%3B%0A%09%09%09%09if%20%28lnk.match%28/_hd%28%5B%5Ea-z%5D%7C%24%29/i%29%29%0A%09%09%09%09%09merit%20%3D%20merit%20+%206%3B%0A%09%09%09%09if%20%28lnk.match%28/%5C.%28jpg%7Cxml%29%28%5B%5Ea-z%5D%7C%24%29/i%29%29%0A%09%09%09%09%09merit%20%3D%20merit%20-%2040%3B%0A%09%09%09%09if%20%28merit%20%3E%200%29%0A%09%09%09%09%09outLinks.push%28merit%20+%20lba%20+%20lnk%29%3B%0A%09%09%09%09Services.console.logStringMessage%28%27merit%3A%27%20+%20merit%20+%20%27%20lnk-%3E%27%20+%20lnk%29%3B%0A%09%09%09%7D%3B%0A%0A%09%09%09linkArr.push%28fl%29%3B%0A%09%09%09while%20%28linkArr.length%20%3E%20jj%20%26%26%20jj%20%3C%2030%29%20%7B%0A%0A%09%09%09%09var%20testPaths%20%3D%20%5B%5D%3B%0A%09%09%09%09testPaths%20%3D%20linkArr%5Bjj%5D.split%28/%28%5C.%28%3F%3Aflv%7Cmp4%7Cm3u8%29%29/i%29%3B%0A%09%09%09%09if%20%28testPaths%5BtestPaths.length%20-%201%5D%20%3D%3D%20%27%27%29%0A%09%09%09%09%09testPaths.pop%28%29%3B%0A%0A%09%09%09%09for%20%28k%20%3D%201%3B%20k%20%3C%20testPaths.length%3B%20k%20%3D%20k%20+%202%29%20%7B%0A%0A%09%09%09%09%09if%20%28testPaths%5Bk%20-%201%5D.indexOf%28lba%29%20%3E%20-1%29%20%7B%0A%09%09%09%09%09%09pref%20%3D%20testPaths%5Bk%20-%201%5D%3B%0A%09%09%09%09%09%7D%20else%20%7B%0A%09%09%09%09%09%09var%20testAboutDom%20%3D%20testPaths%5Bk%20-%201%5D.toLowerCase%28%29.split%28/%28https%3F%3A%5C/%5C/%29/%29%3B%0A%09%09%09%09%09%09if%20%28testAboutDom%5BtestAboutDom.length%20-%201%5D%20%3D%3D%20%27%27%29%0A%09%09%09%09%09%09%09testAboutDom.pop%28%29%3B%0A%09%09%09%09%09%09var%20pTest%20%3D%20testAboutDom%5BtestAboutDom.length%20-%201%5D.split%28/%28%5C%3F%5B%5E%5C%3F%5D*%3F%26%29/%29%3B%0A%09%09%09%09%09%09if%20%28pTest.length%20%3E%202%29%20%7B%0A%09%09%09%09%09%09%09pTest.pop%28%29%3B%0A%09%09%09%09%09%09%09pTest.pop%28%29%3B%0A%09%09%09%09%09%09%7D%3B%0A%09%09%09%09%09%09testAboutDom%5BtestAboutDom.length%20-%201%5D%20%3D%20pTest.join%28%27%27%29%3B%0A%09%09%09%09%09%09pref%20%3D%20testPaths%5Bk%20-%201%5D.substring%28testAboutDom.join%28%27%27%29.lastIndexOf%28%22%26%22%29%20+%201%29%3B%0A%09%09%09%09%09%7D%3B%0A%0A%09%09%09%09%09t2%20%3D%20pref.lastIndexOf%28lbb%29%3B%0A%09%09%09%09%09if%20%28t2%20%3E%20-1%29%20%7B%0A%09%09%09%09%09%09pref%20%3D%20pref.substring%28t2%20+%203%29%3B%0A%09%09%09%09%09%7D%20else%20%7B%0A%0A%09%09%09%09%09%09t2%20%3D%20pref.lastIndexOf%28%27%7B%22%27%29%3B%0A%09%09%09%09%09%09if%20%28t2%20%3E%20-1%29%0A%09%09%09%09%09%09%09pref%20%3D%20pref.substring%28t2%20+%202%29%3B%0A%09%09%09%09%09%09t2%20%3D%20pref.lastIndexOf%28%27%5B%22%27%29%3B%0A%09%09%09%09%09%09if%20%28t2%20%3E%20-1%29%0A%09%09%09%09%09%09%09pref%20%3D%20pref.substring%28t2%20+%202%29%3B%0A%09%09%09%09%09%09t2%20%3D%20pref.lastIndexOf%28%27%2C%22%27%29%3B%0A%09%09%09%09%09%09if%20%28t2%20%3E%20-1%29%0A%09%09%09%09%09%09%09pref%20%3D%20pref.substring%28t2%20+%202%29%3B%0A%09%09%09%09%09%09t2%20%3D%20pref.toLowerCase%28%29.lastIndexOf%28%27%22http%3A//%27%29%3B%0A%09%09%09%09%09%09if%20%28t2%20%3E%20-1%29%0A%09%09%09%09%09%09%09pref%20%3D%20pref.substring%28t2%20+%201%29%3B%0A%09%09%09%09%09%09t2%20%3D%20pref.toLowerCase%28%29.lastIndexOf%28%27%22https%3A//%27%29%3B%0A%09%09%09%09%09%09if%20%28t2%20%3E%20-1%29%0A%09%09%09%09%09%09%09pref%20%3D%20pref.substring%28t2%20+%201%29%3B%0A%09%09%09%09%09%09t2%20%3D%20pref.toLowerCase%28%29.lastIndexOf%28%27%2Chttp%3A//%27%29%3B%0A%09%09%09%09%09%09if%20%28t2%20%3E%20-1%29%0A%09%09%09%09%09%09%09pref%20%3D%20pref.substring%28t2%20+%201%29%3B%0A%09%09%09%09%09%09t2%20%3D%20pref.toLowerCase%28%29.lastIndexOf%28%27%2Chttps%3A//%27%29%3B%0A%09%09%09%09%09%09if%20%28t2%20%3E%20-1%29%0A%09%09%09%09%09%09%09pref%20%3D%20pref.substring%28t2%20+%201%29%3B%0A%09%09%09%09%09%09t2%20%3D%20pref.toLowerCase%28%29.lastIndexOf%28%27%3Bhttp%27%29%3B%0A%09%09%09%09%09%09if%20%28t2%20%3E%20-1%29%0A%09%09%09%09%09%09%09pref%20%3D%20pref.substring%28t2%20+%201%29%3B%0A%09%09%09%09%09%09t2%20%3D%20pref.toLowerCase%28%29.lastIndexOf%28%27*https%3A//%27%29%3B%0A%09%09%09%09%09%09if%20%28t2%20%3E%20-1%29%0A%09%09%09%09%09%09%09pref%20%3D%20pref.substring%28t2%20+%201%29%3B%0A%09%09%09%09%09%09t2%20%3D%20pref.toLowerCase%28%29.lastIndexOf%28%27%20or%20%27%29%3B%0A%09%09%09%09%09%09if%20%28t2%20%3E%20-1%29%0A%09%09%09%09%09%09%09pref%20%3D%20pref.substring%28t2%20+%204%29%3B%0A%0A%09%09%09%09%09%09pref%20%3D%20pref.substring%28pref.split%28%27/%27%29%5B0%5D.toLowerCase%28%29.split%28%27%252f%27%29%5B0%5D.lastIndexOf%28%27%3D%27%29%20+%201%29%3B%0A%0A%09%09%09%09%09%7D%0A%0A%09%09%09%09%09if%20%28pref.length%20%3E%200%29%20%7B%0A%0A%09%09%09%09%09%09if%20%28pref.split%28%27%3F%27%29%5B0%5D.toLowerCase%28%29.match%28/%25%5B2-3%5D%5B0-9a-f%5D/%29%29%20%7B%0A%0A%09%09%09%09%09%09%09t2%20%3D%20pref.indexOf%28%27%22%27%29%0A%09%09%09%09%09%09%09%09if%20%28t2%20%3E%20-1%29%0A%09%09%09%09%09%09%09%09%09pref%20%3D%20pref.substring%28t2%20+%201%29%3B%0A%09%09%09%09%09%09%09%09suff%20%3D%20testPaths%5Bk%20+%201%5D%20%3F%20testPaths%5Bk%20+%201%5D.split%28%27%26%27%29%5B0%5D.split%28%27%22%27%29%5B0%5D.split%28%27%3B%27%29%5B0%5D.split%28/%2Chttp/i%29%5B0%5D%20%3A%20%27%27%3B%0A%09%09%09%09%09%09%09if%20%28%28suff%20%21%3D%20testPaths%5Bk%20+%201%5D%29%20%7C%7C%20%28testPaths.length%20%3C%20k%20+%203%29%29%20%7B%0A%09%09%09%09%09%09%09%09if%20%28testPaths.length%20%3E%20k%20+%201%29%20%7B%0A%09%09%09%09%09%09%09%09%09testPaths%5Bk%20+%201%5D%20%3D%20%28%28pref%20%3D%3D%20testPaths%5Bk%20-%201%5D%29%20%3F%20%27%27%20%3A%20%27%26%27%29%20+%20testPaths%5Bk%20+%201%5D.substr%28suff.length%29%0A%09%09%09%09%09%09%09%09%7D%3B%0A%09%09%09%09%09%09%09%09t2%20%3D%20pref.lastIndexOf%28lba%29%3B%0A%09%09%09%09%09%09%09%09if%20%28t2%20%3E%20-1%29%0A%09%09%09%09%09%09%09%09%09pref%20%3D%20pref.substring%28t2%20+%203%29%0A%09%09%09%09%09%09%09%09%09%09linkArr.push%28decodeURL%28pref%20+%20testPaths%5Bk%5D%20+%20suff%29%29%3B%0A%0A%09%09%09%09%09%09%09%7D%20else%20%7B%0A%09%09%09%09%09%09%09%09testPaths%5Bk%20+%201%5D%20%3D%20%28pref%20%3D%3D%20testPaths%5Bk%20-%201%5D%20%3F%20%27%27%20%3A%20lbb%29%20+%20pref%20+%20testPaths%5Bk%5D%20+%20suff%0A%09%09%09%09%09%09%09%7D%0A%09%09%09%09%09%09%7D%20else%20%7B%0A%09%09%09%09%09%09%09suff%20%3D%20testPaths%5Bk%20+%201%5D%20%3F%20testPaths%5Bk%20+%201%5D.split%28%27%3B%27%29%5B0%5D.split%28%27%22%5D%27%29%5B0%5D.split%28%27%22%7D%27%29%5B0%5D.split%28%27%22%2C%27%29%5B0%5D.split%28/%2Chttps%3F%3A%5C/%5C//i%29%5B0%5D.split%28%27*https%3A//%27%29%5B0%5D.split%28%27%20or%20%27%29%5B0%5D%20%3A%20%27%27%3B%0A%09%09%09%09%09%09%09t2%20%3D%20suff.indexOf%28%27%26%27%29%3B%0A%09%09%09%09%09%09%09if%20%28%28t2%20%3E%20-1%29%20%26%26%20%28pref%20%21%3D%20testPaths%5Bk%20-%201%5D%29%29%20%7B%0A%09%09%09%09%09%09%09%09if%20%28t2%20%3D%3D%200%29%0A%09%09%09%09%09%09%09%09%09suff%20%3D%20%27%27%3B%0A%09%09%09%09%09%09%09%09if%20%28suff.charAt%280%29%20%21%3D%20%27%3F%27%29%0A%09%09%09%09%09%09%09%09%09suff%20%3D%20suff.split%28/%28%26%5B%5E%26%5D+%3Dhttps%3F%3A%5C/%5C/%29/i%29%5B0%5D%3B%0A%09%09%09%09%09%09%09%7D%3B%0A%09%09%09%09%09%09%09if%20%28%28suff%20%21%3D%20testPaths%5Bk%20+%201%5D%29%20%7C%7C%20%28testPaths.length%20%3C%20k%20+%203%29%29%20%7B%0A%09%09%09%09%09%09%09%09if%20%28testPaths.length%20%3E%20k%20+%201%29%20%7B%0A%09%09%09%09%09%09%09%09%09testPaths%5Bk%20+%201%5D%20%3D%20%28%28pref%20%3D%3D%20testPaths%5Bk%20-%201%5D%29%20%3F%20%27%27%20%3A%20%27%26%27%29%20+%20testPaths%5Bk%20+%201%5D.substr%28suff.length%29%0A%09%09%09%09%09%09%09%09%7D%3B%0A%09%09%09%09%09%09%09%09t2%20%3D%20pref.lastIndexOf%28lba%29%3B%0A%09%09%09%09%09%09%09%09if%20%28t2%20%3E%20-1%29%0A%09%09%09%09%09%09%09%09%09pref%20%3D%20pref.substring%28t2%20+%203%29%3B%0A%09%09%09%09%09%09%09%09pushWithMerit%28pref%20+%20testPaths%5Bk%5D%20+%20suff%29%3B%0A%0A%09%09%09%09%09%09%09%7D%20else%20%7B%0A%09%09%09%09%09%09%09%09testPaths%5Bk%20+%201%5D%20%3D%20lba%20+%20%28pref%20%3D%3D%20testPaths%5Bk%20-%201%5D%20%3F%20%27%27%20%3A%20lbb%29%20+%20pref%20+%20testPaths%5Bk%5D%20+%20suff%0A%09%09%09%09%09%09%09%7D%0A%09%09%09%09%09%09%7D%0A%09%09%09%09%09%7D%0A%09%09%09%09%7D%3B%0A%09%09%09%09jj%20%3D%20jj%20+%201%3B%0A%09%09%09%7D%3B%0A%0A%09%09%09if%20%28outLinks.length%20%3D%3D%200%29%0A%09%09%09%09return%20%27%27%3B%0A%09%09%09function%20srt%28a%2C%20b%29%20%7B%0A%09%09%09%09a%20%3D%20parseInt%28a.substr%280%2C%20a.indexOf%28lba%29%29%2C%2010%29%3B%0A%09%09%09%09b%20%3D%20parseInt%28b.substr%280%2C%20b.indexOf%28lba%29%29%2C%2010%29%3B%0A%09%09%09%09if%20%28a%20%3C%20b%29%0A%09%09%09%09%09return%201%3B%0A%09%09%09%09if%20%28a%20%3E%20b%29%0A%09%09%09%09%09return%20-1%3B%0A%09%09%09%09return%200%0A%09%09%09%7D%3B%0A%09%09%09outLinks.sort%28srt%29%3B%0A%09%09%09outLinks%5B0%5D%20%3D%20outLinks%5B0%5D.substr%28outLinks%5B0%5D.indexOf%28lba%29%20+%203%29%0A%09%09%09%09if%20%28outLinks%5B0%5D.indexOf%28%27_hq.mp4/%3Ftime%3D%27%29%20%3E%200%29%0A%09%09%09%09%09outLinks%5B0%5D%20%3D%20outLinks%5B0%5D.replace%28/%26/g%2C%20%27%26amp%3B%27%29%3B%0A%09%09%09%09return%20outLinks%5B0%5D%3B%0A%09%09%7D%3B%0A%0A%09%09if%20%28%21ol%29%0A%09%09%09return%20%27%27%3B%0A%09%09//ol%20%3D%20ol.replace%28/%5E%3A%3F%5C/%5C//%2C%20curLocation.protocol%20+%20%22//%22%29%3B%0A%09%09//return%20restPath%28ol%2C%20src%29%3B%0A%09%09return%20restProtHost%28ol%2C%20curLocation%29%3B%0A%09%7D%3B%0A%0A%09try%20%7BhandlWin%28content%29%3B%7D%20finally%20%7Bfound%20%7C%7C%20SEND%28%29%3B%7D%0A%7D%29%3B%0A%0A%20var%20style%20%3D%20custombutton.buttonGetHelp%28self%29.replace%28/id/g%2C%20_id%29%3B%0Avar%20uri%20%3D%20makeURI%28%27data%3Atext/css%2C%27+%20encodeURIComponent%28style%29%29%3B%0Avar%20sss%20%3D%20Cc%5B%22@mozilla.org/content/style-sheet-service%3B1%22%5D.getService%28Ci.nsIStyleSheetService%29%3B%0Asss.loadAndRegisterSheet%28uri%2C%200%29%3B%20%5D%5D%3E%3C/initcode%3E%0A%20%20%3Ccode%3E%3C%21%5BCDATA%5B/*CODE*/%5D%5D%3E%3C/code%3E%0A%20%20%3Caccelkey%3E%3C%21%5BCDATA%5B%5D%5D%3E%3C/accelkey%3E%0A%20%20%3Chelp%3E%3C%21%5BCDATA%5B%5D%5D%3E%3C/help%3E%0A%20%20%3Cattributes/%3E%0A%3C/custombutton%3E

Отредактировано ВВП (28-09-2022 23:12:30)

Отсутствует

 

№1661529-09-2022 03:13:35

xrun1
Участник
 
Группа: Members
Зарегистрирован: 12-12-2013
Сообщений: 1160
UA: Firefox 105.0

Re: Custom Buttons

Arcadav
В about:config сделать, как в п.1 этого поста.
Создать файл config.js и положить в папку [firefox] рядом с firefox.exe. Там ниже 2 поста: один со ссылкой на пост, в другом под спойлером config.js.
Создать файл config-prefs.js

config-prefs.js

Выделить код

Код:

pref("general.config.obscure_value", 0);
pref("general.config.filename", "config.js");
pref("general.config.sandbox_enabled", false);


и положить в папку defaults\pref\

Отсутствует

 

№1661629-09-2022 07:44:52

ifln
Участник
 
Группа: Members
Зарегистрирован: 20-09-2013
Сообщений: 231
UA: Firefox 102.0

Re: Custom Buttons

ВВП пишет

будет.

Не работает.
Может дело у меня не в кнопке, а в содержимом config.js?  Что там должно быть кроме антиподписного кода?

Отсутствует

 

№1661729-09-2022 09:37:32

ВВП
Участник
 
Группа: Members
Зарегистрирован: 13-03-2021
Сообщений: 332
UA: Firefox 105.0

Re: Custom Buttons

ifln

ifln пишет

Не работает.

Что именно, кнопка не устанавливается или не перехватывает. У меня все работает.

Отсутствует

 

№1661829-09-2022 09:47:46

Arcadav
Участник
 
Группа: Members
Зарегистрирован: 28-09-2022
Сообщений: 3
UA: Firefox 62.0

Re: Custom Buttons

xrun1
Спасибо большое. Получилось.

Отсутствует

 

№1661929-09-2022 09:49:36

ifln
Участник
 
Группа: Members
Зарегистрирован: 20-09-2013
Сообщений: 231
UA: Firefox 102.0

Re: Custom Buttons

ВВП
Устанавливается, не перехватывает.
А еще у меня она роняет браузер на ютуб-видео, встоенных и на самом сайте. В отличии от оригинальной кнопки.

Отсутствует

 

№1662029-09-2022 10:34:03

ifln
Участник
 
Группа: Members
Зарегистрирован: 20-09-2013
Сообщений: 231
UA: Firefox 102.0

Re: Custom Buttons

ВВП пишет

iflnМожет руки не под то заточены ? Все там работает и ни хера не падает.

Может. Поэтому и обратился сюда. Но ты мне можешь не отвечать.

ifln пишет

Может дело у меня не в кнопке, а в содержимом config.js?  Что там должно быть кроме антиподписного кода?

Отсутствует

 

№1662129-09-2022 11:11:10

_zt
Участник
 
Группа: Members
Зарегистрирован: 10-11-2014
Сообщений: 1420
UA: Firefox 102.0

Re: Custom Buttons

ifln
https://forum.mozilla-russia.org/viewto … 13#p799413
   
Еще читайте дальнейшие посты.

Отредактировано _zt (29-09-2022 11:13:41)

Отсутствует

 

№1662229-09-2022 14:19:41

ifln
Участник
 
Группа: Members
Зарегистрирован: 20-09-2013
Сообщений: 231
UA: Firefox 102.0

Re: Custom Buttons

_zt
Стоит  "антиподписячий" код и paxmod 0.0.7.0.0.26 отсюда
Добавил запускатор  по вашей ссылке.
Не работает кнопка как положено. Но дело не только в ней. И другие кнопки чудят. Undo Close Tabs button, например, по пкм открывает меню кнопки.

Отсутствует

 

№1662329-09-2022 16:28:34

Dumby
Участник
 
Группа: Members
Зарегистрирован: 12-08-2012
Сообщений: 2130
UA: Firefox 78.0

Re: Custom Buttons

ВВП пишет

Как сделать этот код с цикличностью ? К,примеру через каждые 15сек
Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_DOM_STORAGES, () => {});

Из кнопки это совсем неудобно. Лучше в custom_script.js добавить

скрытый текст

Выделить код

Код:

(async () => {
	var timer = globalThis[Symbol()] =
		Cc["@mozilla.org/timer;1"].createInstance(Ci.nsITimer);
	var callback = Services.clearData.deleteData
		.bind(null, Ci.nsIClearDataService.CLEAR_DOM_STORAGES, () => {});
	timer.initWithCallback(callback, 15000, timer.TYPE_REPEATING_SLACK);
})();

Отсутствует

 

№1662429-09-2022 16:36:52

kokoss
Участник
 
Группа: Members
Зарегистрирован: 15-02-2018
Сообщений: 1728
UA: Firefox 105.0

Re: Custom Buttons

ifln пишет

Стоит  "антиподписячий" код и paxmod 0.0.7.0.0.26 отсюда

Какой код используйте, для [firefox] 102+ здесь > https://forum.mozilla-russia.org/viewtopic.php?id=70326 + инструкция куда ... добавлять.


Win7

Отсутствует

 

№1662529-09-2022 18:09:14

ВВП
Участник
 
Группа: Members
Зарегистрирован: 13-03-2021
Сообщений: 332
UA: Firefox 105.0

Re: Custom Buttons

Dumby

Dumby пишет

Лучше в custom_script.js добавить

Блеск ! как бы еще алертик ввернуть?
alertsService = Cc["@mozilla.org/alerts-service;1"].getService(Ci.nsIAlertsService);
                      alertsService.showAlertNotification(alertimg, "Очистка хранилища", "Завершено" );
                      setTimeout(()=> alertsService.closeAlert(), 2000);
Нет, не подходит. При просмотре на ютуб ,конфликт ! Если бы при выходе из домена, или просто при закрытии вкладки...
Типа, после gBrowser.removeMultiSelectedTabs();
Исполняется этот:
  Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_DOM_STORAGES, () => {});
Можно и без таймера.

Отредактировано ВВП (30-09-2022 17:45:40)

Отсутствует

 

Board footer

Powered by PunBB
Modified by Mozilla Russia
Copyright © 2004–2020 Mozilla Russia GitHub mark
Язык отображения форума: [Русский] [English]