FixEdux

Simple userscript to disallow opening of lnks in a new window, thus fixing back/forth navigation through the whole Edux ecosystem.

이 스크립트를 설치하려면 Tampermonkey, Greasemonkey 또는 Violentmonkey와 같은 확장 프로그램이 필요합니다.

You will need to install an extension such as Tampermonkey to install this script.

이 스크립트를 설치하려면 Tampermonkey 또는 Violentmonkey와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 Tampermonkey 또는 Userscripts와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 Tampermonkey와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 유저 스크립트 관리자 확장 프로그램이 필요합니다.

(이미 유저 스크립트 관리자가 설치되어 있습니다. 설치를 진행합니다!)

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

(이미 유저 스타일 관리자가 설치되어 있습니다. 설치를 진행합니다!)

// ==UserScript==
// @name        FixEdux
// @namespace   Marek Lukáš
// @description Simple userscript to disallow opening of lnks in a new window, thus fixing back/forth navigation through the whole Edux ecosystem.
// @include     https://edux.fit.cvut.cz/*
// @version     4
// @grant       none
// ==/UserScript==

async function fixEdux() {
	let array_of_detected_links = document.querySelectorAll('[target=\'_blank\']');
	let array_of_detected_images = document.querySelectorAll('img.media:not([style="max-width: 50vw;"])')
	let fixed_links_number = 0;
	let fixed_images_number = 0;

	for (let i = 0; i < array_of_detected_links.length; ++i) {
		array_of_detected_links[i].target = "";
		array_of_detected_links[i].innerHTML = array_of_detected_links[i].innerText + " (fixed)";
		fixed_links_number++;
	}

	for (let i = 0; i < array_of_detected_images.length; ++i) {
		array_of_detected_images[i].style.maxWidth = "50vw";
		fixed_images_number++;
	}
	if (fixed_links_number > 0) {
		console.log(fixed_links_number + " \"target=_blank\" links have been fixed");
	}
	if (fixed_images_number > 0) {
		console.log(fixed_images_number + " images have been fixed");
	}
}

window.onload = setInterval(fixEdux, 2000);