情報処理学会 学認転送防止

情報処理学会の学認(GakuNin)システムへの自動リダイレクトを防止する

// ==UserScript==
// @name         情報処理学会 学認転送防止
// @description  情報処理学会の学認(GakuNin)システムへの自動リダイレクトを防止する
// @version      2024-03-23
// @match        https://idp.ixsq.nii.ac.jp/idp/Authn/UserPassword
// @icon         data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==
// @grant        none
// @run-at       document-start
// @license      CC0
// @locale       ja
// @namespace https://greasyfork.org/users/1087114
// ==/UserScript==

// https://stackoverflow.com/questions/3972038/stop-execution-of-javascript-function-client-side-or-tweak-it/10468821#10468821

'use strict';

if (document.head) {
    throw new Error('Head already exists - make sure to enable instant script injection');
}
console.log("take over prevention script loaded");

new MutationObserver((_, observer) => {
    console.log("mutation observed");
    // const scriptTag = document.querySelector('script[src^="https://ds.gakunin.nii.ac.jp/WAYF/embedded-wayf.js?"]');
    //      const scriptTag = document.querySelector('script');

    for (const scriptTag of document.querySelectorAll('script')) {
        console.log("script found", scriptTag);
        if (scriptTag) {
            scriptTag.remove();
            // observer.disconnect();
        }
    }
})
    .observe(document.documentElement, { childList: true, subtree: true });