// ==UserScript== // @name 钉钉最大化 // @namespace http://tampermonkey.net/ // @version 0.1.4 // @description Web 钉钉支持最大化/最小化 // @author HappyStraw // @compatible chrome // @compatible firefox // @license MIT // @match *://im.dingtalk.com/ // @run-at document-end // @grant none // @downloadURL https://update.greasyfork.icu/scripts/396692/%E9%92%89%E9%92%89%E6%9C%80%E5%A4%A7%E5%8C%96.user.js // @updateURL https://update.greasyfork.icu/scripts/396692/%E9%92%89%E9%92%89%E6%9C%80%E5%A4%A7%E5%8C%96.meta.js // ==/UserScript== var maximizeIcon = ''; var minimizeIcon = ''; var css = ` #layout-main, #body { transition: .2s; } body.full-screen #layout-main { width: calc(100vw - 60px); flex: 1; min-width: 1000px; box-shadow: none; margin-top: 20px; } body.full-screen #body { height: calc(100vh - 100px); min-height: 600px; } .full-screen-toggle { width: 26px; height: 26px; float: right; margin: 17px 15px 4px 0; cursor: pointer; } .full-screen-toggle svg { width: 100%; height: 100%; } `; function toggleFullScreen(button) { var isFullScreen = "false"; if (button.title == "最大化") { button.innerHTML = minimizeIcon; button.title = "最小化"; isFullScreen = "true"; } else { button.innerHTML = maximizeIcon; button.title = "最大化"; } document.body.classList.toggle("full-screen"); // 记录状态 document.cookie = "fullscreen=" + isFullScreen + "; expires=Fri, 31 Dec 9999 23:59:59 GMT; path=/"; } (function () { "use strict"; // 新增样式 var elStyle = document.createElement("style"); elStyle.setAttribute("type", "text/css"); elStyle.innerHTML = css; document.head.appendChild(elStyle); // console.log("初始化样式"); // 添加最大化/最小化按键 var timer = setInterval(function () { var elHeader = document.getElementById("header"); if (!elHeader) { return; } var uploadList = elHeader.getElementsByTagName("upload-list"); if (uploadList.length < 1) { return; } clearInterval(timer); // 添加按钮 uploadList = uploadList[0]; var button = document.createElement("div"); button.id = "full-screen-toggle-btn"; button.className = "full-screen-toggle"; button.innerHTML = maximizeIcon; button.title = "最大化"; button.addEventListener("click", function () { toggleFullScreen(this); }); uploadList.prepend(button); // console.log("初始化按键"); // 恢复上次状态 var isFullScreen = document.cookie.replace( /(?:(?:^|.*;\s*)fullscreen\s*\=\s*([^;]*).*$)|^.*$/, "$1" ) === "true"; if (isFullScreen) { toggleFullScreen(button); } }, 500); })();