Merge pull request #310 from wanhose/v6.4.2

6.4.2
This commit is contained in:
wanhose 2023-10-11 09:12:41 +02:00 committed by GitHub
commit 1601aef304
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
13 changed files with 90 additions and 29 deletions

View File

@ -3,7 +3,10 @@
"message": "Hat jemand Dialoge zur Cookie-Zustimmung gesagt? 😋"
},
"contextMenu_reportOption": {
"message": "Webseite melden..."
"message": "Diese Website melden"
},
"contextMenu_settingsOption": {
"message": "Ausnahmeliste verwalten"
},
"options_clearButton": {
"message": "Liste leeren"

View File

@ -3,7 +3,10 @@
"message": "Did someone say cookie consent dialogs? 😋"
},
"contextMenu_reportOption": {
"message": "Report site..."
"message": "Report this website"
},
"contextMenu_settingsOption": {
"message": "Manage exclusion list"
},
"options_clearButton": {
"message": "Clear list"

View File

@ -3,7 +3,10 @@
"message": "¿Alguien dijo diálogos de consentimiento de cookies? 😋"
},
"contextMenu_reportOption": {
"message": "Reportar sitio..."
"message": "Reportar este sitio web"
},
"contextMenu_settingsOption": {
"message": "Gestionar lista de exclusión"
},
"options_clearButton": {
"message": "Borrar lista"

View File

@ -3,7 +3,10 @@
"message": "Quelqu'un a-t-il dit boîtes de dialogue de consentement aux cookies? 😋"
},
"contextMenu_reportOption": {
"message": "Signaler le site..."
"message": "Signaler ce site web"
},
"contextMenu_settingsOption": {
"message": "Gérer la liste d'exclusion"
},
"options_clearButton": {
"message": "Effacer la liste"

View File

@ -3,7 +3,10 @@
"message": "Qualcuno ha detto finestre di dialogo per il consenso ai cookie? 😋"
},
"contextMenu_reportOption": {
"message": "Segnala sito..."
"message": "Segnala questo sito web"
},
"contextMenu_settingsOption": {
"message": "Gestisci elenco di esclusione"
},
"options_clearButton": {
"message": "Cancella elenco"

View File

@ -3,7 +3,10 @@
"message": "Alguém disse diálogos de consentimento de cookies? 😋"
},
"contextMenu_reportOption": {
"message": "Reportar site..."
"message": "Denunciar este site"
},
"contextMenu_settingsOption": {
"message": "Gerenciar lista de exclusão"
},
"options_clearButton": {
"message": "Limpar lista"

View File

@ -3,7 +3,10 @@
"message": "Alguém disse diálogos de consentimento de cookies? 😋"
},
"contextMenu_reportOption": {
"message": "Reportar site..."
"message": "Denunciar este site"
},
"contextMenu_settingsOption": {
"message": "Gerenciar lista de exclusão"
},
"options_clearButton": {
"message": "Limpar lista"

View File

@ -3,7 +3,10 @@
"message": "A spus cineva dialoguri de consimțământ pentru cookie? 😋"
},
"contextMenu_reportOption": {
"message": "Raportați site-ul..."
"message": "Raportați acest site web"
},
"contextMenu_settingsOption": {
"message": "Gestionați lista de excludere"
},
"options_clearButton": {
"message": "Ștergeți lista"

View File

@ -3,7 +3,10 @@
"message": "Кто-то сказал диалоги согласия на использование файлов cookie? 😋"
},
"contextMenu_reportOption": {
"message": "Сообщить о сайте..."
"message": "Сообщить об этом веб-сайте"
},
"contextMenu_settingsOption": {
"message": "Управление списком исключений"
},
"options_clearButton": {
"message": "Очистить список"

View File

@ -1,7 +1,7 @@
{
"manifest_version": 3,
"name": "Cookie Dialog Monster",
"version": "6.4.1",
"version": "6.4.2",
"default_locale": "en",
"description": "__MSG_appDesc__",
"icons": {
@ -23,21 +23,22 @@
"all_frames": true,
"exclude_matches": [
"*://*.googleapis.com/embed/*",
"*://*.codesandbox.io/*",
"*://*.sharepoint.com/*",
"*://*.youtube.com/embed/*",
"*://*.youtube-nocookie.com/embed/*",
"https://translate.google.ca/*",
"https://translate.google.co.in/*",
"https://translate.google.co.jp/*",
"https://translate.google.co.uk/*",
"https://translate.google.com.au/*",
"https://translate.google.com.br/*",
"https://translate.google.com/*",
"https://translate.google.de/*",
"https://translate.google.es/*",
"https://translate.google.fr/*",
"https://translate.google.it/*",
"https://www.cookie-dialog-monster.com/*"
"*://translate.google.ca/*",
"*://translate.google.co.in/*",
"*://translate.google.co.jp/*",
"*://translate.google.co.uk/*",
"*://translate.google.com.au/*",
"*://translate.google.com.br/*",
"*://translate.google.com/*",
"*://translate.google.de/*",
"*://translate.google.es/*",
"*://translate.google.fr/*",
"*://translate.google.it/*",
"*://www.cookie-dialog-monster.com/*"
],
"js": ["scripts/content.js", "scripts/dialog.js"],
"matches": ["http://*/*", "https://*/*"],

View File

@ -10,7 +10,21 @@ const apiUrl = 'https://api.cookie-dialog-monster.com/rest/v2';
* @type {string}
*/
const reportMenuItemId = 'REPORT';
const extensionMenuItemId = 'CDM-MENU';
/**
* @description Context menu identifier
* @type {string}
*/
const reportMenuItemId = 'CDM-REPORT';
/**
* @description Context menu identifier
* @type {string}
*/
const settingsMenuItemId = 'CDM-SETTINGS';
/**
* @description A shortcut for chrome.scripting
@ -67,6 +81,9 @@ chrome.contextMenus.onClicked.addListener((info, tab) => {
case reportMenuItemId:
if (tab) chrome.tabs.sendMessage(tab.id, { type: 'SHOW_REPORT_DIALOG' });
break;
case settingsMenuItemId:
chrome.runtime.openOptionsPage();
break;
default:
break;
}
@ -153,10 +170,24 @@ chrome.runtime.onMessage.addListener((message, sender, callback) => {
*/
chrome.runtime.onInstalled.addListener(() => {
chrome.contextMenus.create({
contexts: ['all'],
documentUrlPatterns: chrome.runtime.getManifest().content_scripts[0].matches,
id: extensionMenuItemId,
title: 'Cookie Dialog Monster',
});
chrome.contextMenus.create({
contexts: ['all'],
documentUrlPatterns: chrome.runtime.getManifest().content_scripts[0].matches,
id: settingsMenuItemId,
parentId: extensionMenuItemId,
title: chrome.i18n.getMessage('contextMenu_settingsOption'),
});
chrome.contextMenus.create({
contexts: ['all'],
documentUrlPatterns: chrome.runtime.getManifest().content_scripts[0].matches,
id: reportMenuItemId,
parentId: extensionMenuItemId,
title: chrome.i18n.getMessage('contextMenu_reportOption'),
});
});

View File

@ -144,7 +144,7 @@ function fix() {
const backdrop = document.getElementsByClassName('modal-backdrop')[0];
const facebook = document.getElementsByClassName('_31e')[0];
const fixes = data?.fixes ?? [];
const skips = data?.skips ?? [];
const skips = (data?.skips ?? []).map((x) => (x.split('.').length < 3 ? `*${x}` : x));
if (backdrop?.children.length === 0) {
backdrop.remove();
@ -177,7 +177,7 @@ function fix() {
}
}
if (skips.indexOf(hostname) === -1) {
if (skips.some((x) => hostname.match(x.replace(/\*/g, '[^ ]*')))) {
for (const element of [document.body, document.documentElement]) {
element?.classList.remove(...(data?.classes ?? []));
element?.style.setProperty('position', 'initial', 'important');
@ -245,7 +245,7 @@ const observer = new MutationObserver((mutations) => {
window.addEventListener('focus', async () => {
if (!data) {
await runSetup(true);
forceClean(document.body);
clean([...document.body.children]);
}
});

View File

@ -119,15 +119,17 @@ async function handleDeleteClick(event) {
function handleExportClick() {
const anchor = document.createElement('a');
const now = new Date();
const day = now.getUTCDay().toString().padStart(2, '0');
const month = now.getUTCMonth().toString().padStart(2, '0');
const day = now.getDate().toString().padStart(2, '0');
const month = now.getMonth().toString().padStart(2, '0');
const year = now.getUTCFullYear();
const text = exclusionList.join('\n');
const defaultTitle = `${year}${month}${day}`;
const customTitle = window.prompt('Enter a file name', defaultTitle);
const blob = new Blob([text], { type: 'octet/stream' });
const url = window.URL.createObjectURL(blob);
anchor.href = url;
anchor.download = `${year}${month}${day}.cdm`;
anchor.download = `${customTitle || defaultTitle}.cdm`;
anchor.click();
window.URL.revokeObjectURL(url);
}