Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Select an option

  • Save MahouShoujoMivutilde/186f595897d4f2fc13c010a2758781cd to your computer and use it in GitHub Desktop.

Select an option

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 http://tampermonkey.net/
// @version 0.1.0
// @author MahouShoujoMivutilde
// @match https://duckduckgo.com/*
// @grant none
// ==/UserScript==
(function() {
window.onload = init;
function init() {
var links_wrapper = document.getElementById('links');
var page_loaded = performance.now();
MarkHTTP();
function MarkHTTPWrapper() {
if (performance.now() % 3 !== 0) { // вероятность этого, при условных 10000 мс пребывания на странице - 0.3334
return;
}
MarkHTTP();
}
function MarkHTTP() {
links_wrapper.removeEventListener("DOMNodeInserted", MarkHTTPWrapper, false);
var start_search = performance.now();
var urls = links_wrapper.getElementsByClassName("result__url__domain");
for (i = 0; i < urls.length; ++i) {
if (!/(http)/.test(urls[i].textContent)) { // Нет http или https
urls[i].innerHTML = '<span style="color: #d50000; font-weight: bold">http</span>://' + urls[i].textContent;
} else {
urls[i].innerHTML = urls[i].innerHTML.replace("https", '<span style="font-weight: bold">https</span>');
}
}
var finish = performance.now();
console.log(finish - start_search, "ms");
links_wrapper.addEventListener("DOMNodeInserted", MarkHTTPWrapper, false);
}
// TODO: Запилить срабатывание на загрузку новой страницы при скролле, а не при вставкe ноды.
// ...А то ненужная рекурсия, и безумная функция, которая срабатывает лишь в 33% от всех вызовов.
links_wrapper.addEventListener("DOMNodeInserted", MarkHTTPWrapper, false);
}
})();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment