您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Makes the entity Privacy checkbox visible on both the Entry and Permissions tabs
// ==UserScript== // @name Kanka Entity Privacy Setting on the Entry Tab // @namespace http://tampermonkey.net/ // @version 2 // @description Makes the entity Privacy checkbox visible on both the Entry and Permissions tabs // @author Salvatos // @license MIT // @match https://app.kanka.io/*/create* // @match https://app.kanka.io/*/edit* // @exclude https://app.kanka.io/*/posts/* // @icon https://www.google.com/s2/favicons?domain=kanka.io // ==/UserScript== /* Only run if the current user has access to the Permissions tab */ let permissionsTab = document.getElementById('form-permissions') ?? false; if (permissionsTab) { const privBox = document.getElementsByClassName('privacy-callout')[0]; const entryTab = document.getElementById('form-entry'); // At page load, move checkbox to top of Entry tab setTimeout(() => { // Give it half a second for the form’s JS to set the classes if (entryTab.classList.contains("active")) { entryTab.insertBefore(privBox, entryTab.firstChild); observePermissions(); } // Unless the page is being reloaded in a different tab else { observeEntry(); } }, 500); /* When Permissions or Entry tab is focused, move checkbox to it. * Don’t rely on onClick, because the Back/Forward browser action also cycles between previously visited tabs. * Use mutation observers instead to watch the .active class. */ function observeEntry() { // Set and run an observer until the tab is activated let observer = new MutationObserver(function(mutations) { if (entryTab.classList.contains("active")) { entryTab.prepend(privBox); //console.log("Moved tab to Entry at " + Date.now()); observer.disconnect(); observePermissions(); } }); observer.observe(entryTab, {attributes: true, childList: false, characterData: false, subtree: false}); } function observePermissions() { // Set and run an observer until the tab is activated let observer = new MutationObserver(function(mutations) { if (permissionsTab.classList.contains("active")) { permissionsTab.prepend(privBox); //console.log("Moved tab to Permissions at " + Date.now()); observer.disconnect(); observeEntry(); } }); observer.observe(permissionsTab, {attributes: true, childList: false, characterData: false, subtree: false}); } }
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址