Last active
June 19, 2024 22:18
-
-
Save MahouShoujoMivutilde/186f595897d4f2fc13c010a2758781cd to your computer and use it in GitHub Desktop.
HTTP sites in red on DuckDuckGo.com
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| // ==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
