Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save MahouShoujoMivutilde/186f595897d4f2fc13c010a2758781cd to your computer and use it in GitHub Desktop.
Save MahouShoujoMivutilde/186f595897d4f2fc13c010a2758781cd to your computer and use it in GitHub Desktop.
HTTP sites in red on DuckDuckGo.com
// ==UserScript==
// @name HTTP in red on DuckDuckGo
// @namespace HttpInRedOnDuckDuckGo
// @version 0.3.0
// @updateURL https://gist.githubusercontent.com/MahouShoujoMivutilde/186f595897d4f2fc13c010a2758781cd/raw/Mark_with_red_HTTP_sites_on_DuckDuckGo.user.js
// @downloadURL https://gist.githubusercontent.com/MahouShoujoMivutilde/186f595897d4f2fc13c010a2758781cd/raw/Mark_with_red_HTTP_sites_on_DuckDuckGo.user.js
// @author MahouShoujoMivutilde
// @match https://duckduckgo.com/*
// @run-at document-end
// @grant none
// ==/UserScript==
(function() {
function MarkHTTP() {
links_wrapper.removeEventListener('DOMNodeInserted', MarkHTTP, false);
var start = performance.now();
var urls = links_wrapper.getElementsByClassName('result__url__domain');
for (i = 0; i < urls.length; ++i) {
if (!/span/.test(urls[i].innerHTML)) { // Только те ноды, что еще не редактировались
if (!/https/.test(urls[i].textContent)) { // Не https
urls[i].insertAdjacentHTML('afterbegin', '<span style="color: #d50000; font-weight: bold">http</span>://');
} else { // https
urls[i].textContent = urls[i].textContent.replace('https', '');
urls[i].insertAdjacentHTML('afterbegin', '<span style="font-weight: bold">https</span>');
}
}
}
var finish = performance.now();
console.log(finish - start, 'ms');
links_wrapper.addEventListener('DOMNodeInserted', MarkHTTP, false);
}
// TODO: Запилить срабатывание на загрузку новой страницы при скролле, а не при вставкe ноды.
var links_wrapper = document.getElementById('links');
links_wrapper.addEventListener('DOMNodeInserted', MarkHTTP, false);
})();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment