Updated sites: check (options) & missing permission (badge)
parent
2cf8230bc6
commit
290a490026
|
@ -100,6 +100,7 @@ var customSites = {};
|
|||
var customSites_domains = [];
|
||||
var updatedSites = {};
|
||||
var updatedSites_new = [];
|
||||
var updatedSites_domains_new = [];
|
||||
var excludedSites = [];
|
||||
|
||||
function setDefaultOptions() {
|
||||
|
@ -295,6 +296,7 @@ ext_api.storage.local.get({
|
|||
customSites = items.sites_custom;
|
||||
customSites_domains = Object.values(customSites).map(x => x.domain);
|
||||
updatedSites = items.sites_updated;
|
||||
updatedSites_domains_new = Object.values(updatedSites).filter(x => (x.domain && !defaultSites_domains.includes(x.domain) || x.group)).map(x => x.group ? x.group.filter(y => !defaultSites_domains.includes(y)) : x.domain).flat();
|
||||
var ext_version_old = items.ext_version_old;
|
||||
optin_setcookie = items.optIn;
|
||||
optin_update = items.optInUpdate;
|
||||
|
@ -385,6 +387,7 @@ ext_api.storage.onChanged.addListener(function (changes, namespace) {
|
|||
if (key === 'sites_updated') {
|
||||
var sites_updated = storageChange.newValue ? storageChange.newValue : {};
|
||||
updatedSites = sites_updated;
|
||||
updatedSites_domains_new = Object.values(updatedSites).filter(x => (x.domain && !defaultSites_domains.includes(x.domain) || x.group)).map(x => x.group ? x.group.filter(y => !defaultSites_domains.includes(y)) : x.domain).flat();
|
||||
updatedSites_new = Object.keys(updatedSites).filter(x => updatedSites[x].domain && !defaultSites_domains.includes(updatedSites[x].domain));
|
||||
if (updatedSites_new.length > 0) {
|
||||
if (enabledSites.includes('#options_enable_new_sites')) {
|
||||
|
@ -996,12 +999,13 @@ function updateBadge(activeTab) {
|
|||
badgeText = '^' + badgeText;
|
||||
let isDefaultSite = matchUrlDomain(defaultSites_domains, currentUrl);
|
||||
let isCustomSite = matchUrlDomain(customSites_domains, currentUrl);
|
||||
if (!isDefaultSite && isCustomSite) {
|
||||
let isUpdatedSite = matchUrlDomain(updatedSites_domains_new, currentUrl);
|
||||
if (!isDefaultSite && (isCustomSite || isUpdatedSite)) {
|
||||
ext_api.permissions.contains({
|
||||
origins: ['*://*.' + isCustomSite + '/*']
|
||||
origins: ['*://*.' + (isCustomSite || isUpdatedSite) + '/*']
|
||||
}, function (result) {
|
||||
if (!result)
|
||||
badgeText = enabledSites.includes(isCustomSite) ? 'C' : '';
|
||||
badgeText = enabledSites.includes(isCustomSite || isUpdatedSite) ? 'C' : '';
|
||||
if (color && badgeText)
|
||||
ext_api.browserAction.setBadgeBackgroundColor({color: color});
|
||||
ext_api.browserAction.setBadgeText({text: badgeText});
|
||||
|
@ -1189,6 +1193,9 @@ ext_api.runtime.onMessage.addListener(function (message, sender) {
|
|||
if (message.request === 'site_switch') {
|
||||
site_switch();
|
||||
}
|
||||
if (message.request === 'check_sites_updated') {
|
||||
check_sites_updated();
|
||||
}
|
||||
if (message.request === 'popup_show_toggle') {
|
||||
ext_api.tabs.query({
|
||||
active: true,
|
||||
|
|
|
@ -8,6 +8,7 @@ Fix Live Law (permission)
|
|||
Fix The New Yorker (amp)
|
||||
Fix TheTimes.co.uk (only link to archive.today)
|
||||
Remove Saechsische Zeitung (obsolete)
|
||||
Updated sites: check (options) & missing permission (badge)
|
||||
|
||||
* v2.4.5.0 (2021-11-21)
|
||||
Add Advance Local (local USA)
|
||||
|
|
|
@ -94,24 +94,25 @@ function amp_unhide_access_hide(amp_access = '', amp_access_not = '', amp_ads_se
|
|||
// custom sites: try to unhide text on amp-page
|
||||
if ((bg2csData !== undefined) && bg2csData.amp_unhide) {
|
||||
window.setTimeout(function () {
|
||||
let amp_page = document.querySelector('script[src^="https://cdn.ampproject.org/"]') && (window.location.hostname.match(/\/amp(\d)?\./) || window.location.pathname.match(/(\/amp\/|(_|-|\.)amp\.html$|-amp\d|(\.|\/)amp$)/) || window.location.search.match(/\?(output(Type)?=)?amp/));
|
||||
if (amp_page) {
|
||||
let amp_page_hide = document.querySelector('script[src*="/amp-access-"], script[src*="/amp-subscriptions-"]');
|
||||
if (amp_page_hide) {
|
||||
amp_unhide_subscr_section();
|
||||
amp_unhide_access_hide();
|
||||
amp_iframes_replace();
|
||||
}
|
||||
}, 500); // Delay (in milliseconds)
|
||||
}, 100); // Delay (in milliseconds)
|
||||
}
|
||||
|
||||
// updated sites: amp-redirect
|
||||
if ((bg2csData !== undefined) && bg2csData.amp_redirect) {
|
||||
window.setTimeout(function () {
|
||||
let amp_page = document.querySelector('script[src^="https://cdn.ampproject.org/"]') && (window.location.hostname.match(/\/amp(\d)?\./) || window.location.pathname.match(/(\/amp\/|(_|-|\.)amp\.html$|-amp\d|(\.|\/)amp$)/) || window.location.search.match(/\?(output(Type)?=)?amp/));
|
||||
let amp_script = document.querySelector('script[src^="https://cdn.ampproject.org/"]');
|
||||
let amphtml = document.querySelector('link[rel="amphtml"]');
|
||||
let amp_page = amp_script && !amphtml;
|
||||
if (!amp_page) {
|
||||
let paywall = true;
|
||||
if (bg2csData.amp_redirect.paywall)
|
||||
paywall = document.querySelector(bg2csData.amp_redirect.paywall);
|
||||
let amphtml = document.querySelector('link[rel="amphtml"]');
|
||||
if (paywall && amphtml) {
|
||||
removeDOMElement(paywall);
|
||||
window.location.href = amphtml.href;
|
||||
|
|
|
@ -28,6 +28,7 @@
|
|||
<br>
|
||||
<div style='float:left'>
|
||||
<small><button><a href="options_custom.html" style="text-decoration:none;color:inherit">Custom sites</a></button></small>
|
||||
<small><button id="sites_updated">Updated sites?</button></small>
|
||||
<small><button><a href="optin/opt-in.html" style="text-decoration:none;color:inherit">Opt-in</a></button></small>
|
||||
<small><button><a href="options_excluded.html" style="text-decoration:none;color:inherit">Excluded sites</a></button></small>
|
||||
<small><button><a href="#save" style="text-decoration:none;color:inherit">Go to save</a></button></small>
|
||||
|
|
|
@ -129,6 +129,11 @@ function closeButton() {
|
|||
open(location).close();
|
||||
}
|
||||
|
||||
function check_sites_updated() {
|
||||
ext_api.runtime.sendMessage({request: 'check_sites_updated'});
|
||||
location.reload();
|
||||
}
|
||||
|
||||
function compareKey(firstStr, secondStr) {
|
||||
return firstStr.toLowerCase().replace(/\s\(.*\)/, '') === secondStr.toLowerCase().replace(/\s\(.*\)/, '');
|
||||
}
|
||||
|
@ -138,3 +143,4 @@ document.getElementById('save').addEventListener('click', save_options);
|
|||
document.getElementById('select-all').addEventListener('click', selectAll);
|
||||
document.getElementById('select-none').addEventListener('click', selectNone);
|
||||
document.getElementById("button-close").addEventListener('click', closeButton);
|
||||
document.getElementById('sites_updated').addEventListener('click', check_sites_updated);
|
||||
|
|
Loading…
Reference in New Issue