您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Removes the forced ProtonMail signature from the 'New message' textboxes
当前为
// ==UserScript== // @name ProtonMail - remove forced signature // @namespace darkred // @version 2021.6.9 // @description Removes the forced ProtonMail signature from the 'New message' textboxes // @author darkred // @license MIT // @include https://mail.protonmail.com/* // @include https://protonirockerxow.onion/* // @grant none // @require https://greasyfork.org/scripts/21927-arrive-js/code/arrivejs.js // @supportURL https://github.com/darkred/Userscripts/issues // @icon https://protonmail.com/images/favicon.ico // ==/UserScript== const elementToWatch = 'iframe[title="Editor"]'; document.arrive(elementToWatch, function () { let iframe = this.contentDocument; // refers to the newly created element const config = { childList: true, subtree: true }; const callback = function(mutationList, observer) { mutationList.forEach( (mutation) => { mutation.addedNodes.forEach( (node) => { if (node.className === 'protonmail_signature_block') { const parent = node.parentElement; // it's '#squire' and has 3 children: two with <br> and the signature itself node.previousSibling.remove(); // remove the element that contains a leftover newline (<br>) ( children[1] ) node.remove(); // remove the signature element itself ( children[2] ) // Simulate a 'Delete' key press on the message textarea to remove the remaining <br> element ( children[0] ) parent.firstChild.dispatchEvent(new KeyboardEvent('keydown', {'key':'Delete'} )); parent.firstChild.dispatchEvent(new KeyboardEvent( 'keyup' , {'key':'Delete'} )); observer.disconnect(); } }); }); }; const observer = new MutationObserver(callback); observer.observe(iframe, config); });