Adding check for interactivity on search filtering
parent
7093612513
commit
1f58ab80f2
|
@ -114,6 +114,7 @@ function filterSearchResults(searchResults, searchEngine, storage) {
|
||||||
case 'brave':
|
case 'brave':
|
||||||
if (searchResult.closest('div.snippet')) {
|
if (searchResult.closest('div.snippet')) {
|
||||||
cssQuery = 'div.snippet';
|
cssQuery = 'div.snippet';
|
||||||
|
color = 'var(--search-text-03)';
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 'ecosia':
|
case 'ecosia':
|
||||||
|
@ -172,98 +173,114 @@ function main(mutations = null, observer = null) {
|
||||||
// Determine which search engine we're on
|
// Determine which search engine we're on
|
||||||
if ((storage.searchFilter ?? 'on') === 'on') {
|
if ((storage.searchFilter ?? 'on') === 'on') {
|
||||||
if (currentURL.hostname.includes('www.google.')) {
|
if (currentURL.hostname.includes('www.google.')) {
|
||||||
// Check if doing a Google search:
|
// Function to filter search results in Google
|
||||||
function filterGoogle() {
|
function filterGoogle() {
|
||||||
let searchResults = document.querySelectorAll("div[data-hveid] a[href*='fandom.com']:first-of-type, div[data-hveid] a[href*='fextralife.com']:first-of-type");
|
let searchResults = document.querySelectorAll("div[data-hveid] a[href*='fandom.com']:first-of-type, div[data-hveid] a[href*='fextralife.com']:first-of-type");
|
||||||
filterSearchResults(searchResults, 'google', storage);
|
filterSearchResults(searchResults, 'google', storage);
|
||||||
}
|
}
|
||||||
addLocationObserver(main);
|
|
||||||
filterGoogle();
|
// Wait for document to be interactive/complete:
|
||||||
|
if (['interactive', 'complete'].includes(document.readyState)) {
|
||||||
|
addLocationObserver(main);
|
||||||
|
filterGoogle();
|
||||||
|
} else {
|
||||||
|
document.addEventListener('readystatechange', e => {
|
||||||
|
if (['interactive', 'complete'].includes(document.readyState)) {
|
||||||
|
addLocationObserver(main);
|
||||||
|
filterGoogle();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
} else if (currentURL.hostname.includes('duckduckgo.com') && (currentURL.search.includes('q=') || currentURL.pathname.includes('html'))) {
|
} else if (currentURL.hostname.includes('duckduckgo.com') && (currentURL.search.includes('q=') || currentURL.pathname.includes('html'))) {
|
||||||
// Check if doing a Duck Duck Go search:
|
// Function to filter search results in DuckDuckGo
|
||||||
function filterDuckDuckGo() {
|
function filterDuckDuckGo() {
|
||||||
let searchResults = document.querySelectorAll("h2>a[href*='fandom.com'], h2>a[href*='fextralife.com']");
|
let searchResults = document.querySelectorAll("h2>a[href*='fandom.com'], h2>a[href*='fextralife.com']");
|
||||||
filterSearchResults(searchResults, 'duckduckgo', storage);
|
filterSearchResults(searchResults, 'duckduckgo', storage);
|
||||||
}
|
}
|
||||||
// Need to wait for document to be ready
|
|
||||||
if (document.readyState === 'complete') {
|
// Wait for document to be interactive/complete:
|
||||||
|
if (['interactive', 'complete'].includes(document.readyState)) {
|
||||||
addLocationObserver(main);
|
addLocationObserver(main);
|
||||||
filterDuckDuckGo();
|
filterDuckDuckGo();
|
||||||
} else {
|
} else {
|
||||||
document.addEventListener('readystatechange', e => {
|
document.addEventListener('readystatechange', e => {
|
||||||
if (document.readyState === 'complete') {
|
if (['interactive', 'complete'].includes(document.readyState)) {
|
||||||
addLocationObserver(main);
|
addLocationObserver(main);
|
||||||
filterDuckDuckGo();
|
filterDuckDuckGo();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
} else if (currentURL.hostname.includes('www.bing.com')) {
|
} else if (currentURL.hostname.includes('www.bing.com')) {
|
||||||
// Check if doing a Bing search:
|
// Function to filter search results in Bing
|
||||||
function filterBing() {
|
function filterBing() {
|
||||||
let searchResults = Array.from(document.querySelectorAll(".b_attribution>cite")).filter(el => el.innerHTML.includes('fandom.com') || el.innerHTML.includes('fextralife.com'));
|
let searchResults = Array.from(document.querySelectorAll(".b_attribution>cite")).filter(el => el.innerHTML.includes('fandom.com') || el.innerHTML.includes('fextralife.com'));
|
||||||
filterSearchResults(searchResults, 'bing', storage);
|
filterSearchResults(searchResults, 'bing', storage);
|
||||||
}
|
}
|
||||||
// Need to wait for document to be ready
|
|
||||||
if (document.readyState === 'complete') {
|
// Wait for document to be interactive/complete:
|
||||||
|
if (['interactive', 'complete'].includes(document.readyState)) {
|
||||||
addLocationObserver(main);
|
addLocationObserver(main);
|
||||||
filterBing();
|
filterBing();
|
||||||
} else {
|
} else {
|
||||||
document.addEventListener('readystatechange', e => {
|
document.addEventListener('readystatechange', e => {
|
||||||
if (document.readyState === 'complete') {
|
if (['interactive', 'complete'].includes(document.readyState)) {
|
||||||
addLocationObserver(main);
|
addLocationObserver(main);
|
||||||
filterBing();
|
filterBing();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
} else if (currentURL.hostname.includes('search.brave.com')) {
|
} else if (currentURL.hostname.includes('search.brave.com')) {
|
||||||
// Check if doing a Brave search:
|
// Function to filter search results in Brave
|
||||||
function filterBrave() {
|
function filterBrave() {
|
||||||
let searchResults = Array.from(document.querySelectorAll(".result-header")).filter(el => el.innerHTML.includes('fandom.com') || el.innerHTML.includes('fextralife.com'));
|
let searchResults = Array.from(document.querySelectorAll(".result-header")).filter(el => el.innerHTML.includes('fandom.com') || el.innerHTML.includes('fextralife.com'));
|
||||||
filterSearchResults(searchResults, 'brave', storage);
|
filterSearchResults(searchResults, 'brave', storage);
|
||||||
}
|
}
|
||||||
// Need to wait for document to be ready
|
|
||||||
if (document.readyState === 'complete') {
|
// Wait for document to be interactive/complete:
|
||||||
|
if (['interactive', 'complete'].includes(document.readyState)) {
|
||||||
addLocationObserver(main);
|
addLocationObserver(main);
|
||||||
filterBrave();
|
filterBrave();
|
||||||
} else {
|
} else {
|
||||||
document.addEventListener('readystatechange', e => {
|
document.addEventListener('readystatechange', e => {
|
||||||
if (document.readyState === 'complete') {
|
if (['interactive', 'complete'].includes(document.readyState)) {
|
||||||
addLocationObserver(main);
|
addLocationObserver(main);
|
||||||
filterBrave();
|
filterBrave();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
} else if (currentURL.hostname.includes('ecosia.org')) {
|
} else if (currentURL.hostname.includes('ecosia.org')) {
|
||||||
// Check if doing an Ecosia search:
|
// Function to filter search results in Ecosia
|
||||||
function filterEcosia() {
|
function filterEcosia() {
|
||||||
let searchResults = Array.from(document.querySelectorAll("a.result__link")).filter(el => el.href.includes('fandom.com') || el.href.includes('fextralife.com'));
|
let searchResults = Array.from(document.querySelectorAll("a.result__link")).filter(el => el.href.includes('fandom.com') || el.href.includes('fextralife.com'));
|
||||||
filterSearchResults(searchResults, 'ecosia', storage);
|
filterSearchResults(searchResults, 'ecosia', storage);
|
||||||
}
|
}
|
||||||
// Need to wait for document to be ready
|
|
||||||
if (document.readyState === 'complete') {
|
// Wait for document to be interactive/complete:
|
||||||
|
if (['interactive', 'complete'].includes(document.readyState)) {
|
||||||
addLocationObserver(main);
|
addLocationObserver(main);
|
||||||
filterEcosia();
|
filterEcosia();
|
||||||
} else {
|
} else {
|
||||||
document.addEventListener('readystatechange', e => {
|
document.addEventListener('readystatechange', e => {
|
||||||
if (document.readyState === 'complete') {
|
if (['interactive', 'complete'].includes(document.readyState)) {
|
||||||
addLocationObserver(main);
|
addLocationObserver(main);
|
||||||
filterEcosia();
|
filterEcosia();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
} else if (currentURL.hostname.includes('startpage.com')) {
|
} else if (currentURL.hostname.includes('startpage.com')) {
|
||||||
// Check if doing a Startpage search:
|
// Function to filter search results in Startpage
|
||||||
function filterStartpage() {
|
function filterStartpage() {
|
||||||
let searchResults = Array.from(document.querySelectorAll("a.result-link")).filter(el => el.href.includes('fandom.com') || el.href.includes('fextralife.com'));
|
let searchResults = Array.from(document.querySelectorAll("a.result-link")).filter(el => el.href.includes('fandom.com') || el.href.includes('fextralife.com'));
|
||||||
filterSearchResults(searchResults, 'startpage', storage);
|
filterSearchResults(searchResults, 'startpage', storage);
|
||||||
}
|
}
|
||||||
// Need to wait for document to be ready
|
|
||||||
if (document.readyState === 'complete') {
|
// Wait for document to be interactive/complete:
|
||||||
|
if (['interactive', 'complete'].includes(document.readyState)) {
|
||||||
addLocationObserver(main);
|
addLocationObserver(main);
|
||||||
filterStartpage();
|
filterStartpage();
|
||||||
} else {
|
} else {
|
||||||
document.addEventListener('readystatechange', e => {
|
document.addEventListener('readystatechange', e => {
|
||||||
if (document.readyState === 'complete') {
|
if (['interactive', 'complete'].includes(document.readyState)) {
|
||||||
addLocationObserver(main);
|
addLocationObserver(main);
|
||||||
filterStartpage();
|
filterStartpage();
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue