// ==UserScript== // @name Misskey.io 自動プレビュー // @namespace https://misskey.io/@_kanade_ // @version 1.0.2 // @description ノート投稿ダイアログを開いたとき、自動でプレビューモードをONにします // @author kanade // @license MIT // @match https://misskey.io/ // @icon https://www.google.com/s2/favicons?sz=64&domain=misskey.io // @grant none // @run-at document-idle // @downloadURL none // ==/UserScript== const ms = 3000; (function() { 'use strict'; document.addEventListener('keydown', detectShortcutKey); setTimeout(() => { let btn = document.querySelectorAll('.post, .xbaFh.xfjt2.x2hCn.xze7V.xlA8v, .xviCy, .x7rzo > .xunvs:nth-child(2)'); for(let i = 0; i < btn.length; i++) { btn[i].addEventListener('click', function() { clickPreview(); }, false); } }, ms); function detectShortcutKey(e){ let keyCodeN = 78; let keyCodeP = 80; let obj = document.activeElement; if(obj != document.querySelector('textarea') && (e.keyCode == keyCodeN || e.keyCode == keyCodeP)) { clickPreview(); preventEvent(e); return false; } return true; } function clickPreview() { setTimeout(() => { let element = document.querySelector(".xpDI4.xxtDg._popup"); if(element != null) { document.querySelector('.xwGtC').click(); } }, 100); } function preventEvent(key_event) { if (key_event.stopPropagation) { key_event.stopPropagation(); key_event.preventDefault(); } } })();