您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Button that selects title, description, and address text from an open Google Calendar event and copies it to the clipboard.
// ==UserScript== // @name Auto Copy for Google Calendar // @namespace https://almedawaterwell.com/ // @version 0.1.0 // @description Button that selects title, description, and address text from an open Google Calendar event and copies it to the clipboard. // @author Luke Pyburn // @include https://calendar.google.com/calendar/u/* // @include fonts.googleapis.com/css?family=Open+Sans // @grant GM_addStyle // @grant GM_setClipboard // @grant GM_getValue // @grant GM_setValue // @grant GM_openInTab // @grant GM_setClipboard // @grant unsafeWindow // @require http://code.jquery.com/jquery-3.4.1.min.js // ==/UserScript== //Define variables. var $ = window.jQuery; var nameCheck; var addressCheck; var descriptionCheck; // Create the Google Calendar auto copy button in a container div. It will be styled and // positioned with CSS. var zNode = document.createElement ('div'); zNode.innerHTML = '<button id="myButton" type="button">' + 'Copy Entry</button>' ; zNode.setAttribute ('id', 'myContainer'); document.body.appendChild (zNode); //--- Activate the newly added button. document.getElementById ("myButton").addEventListener ( "click", ButtonClickAction, false ); // Manually set id parameter for description div and address div document.addEventListener('mouseup', function() { $('[class="NI2kfb S4zwaf"').each(function(i, ele) { var id = "description"; $(this).attr('id', id); }); $('[class="JAPzS DX3x9d"').each(function(i, ele) { var id = "address"; $(this).attr('id', id); }); }); // Checks to see if the event window exists. If so, the title, description, // and address are copied to the clipboard and the user is alerted. // If no event window exists, the user is alerted and prompted to open one. function ButtonClickAction (zEvent) { var checkExist = setInterval(startCheck, 100); function startCheck() { if ($('#xDtlDlgCt').length) { nameCheck = document.getElementById("rAECCd").innerHTML; descriptionCheck = document.getElementById("description").innerText; addressCheck = document.getElementById("address").innerText; console.log("Heyo!"); console.log(nameCheck); console.log(descriptionCheck); console.log(addressCheck); GM_setClipboard(nameCheck + "\n" + descriptionCheck + "\n" + addressCheck); alert("Event details copied to the clipboard. You're welcome Mike."); clearInterval(checkExist); } else { alert("You forgot to select an event, Mike."); clearInterval(checkExist); } } }; // Style our newly added elements using CSS. GM_addStyle ( ` .text { font-family: Helvetica, sans-serif !important; } #myContainer { position: absolute; top: 18px; right: 460px; font-size: 12px; background: #007de3; border: 1px solid #555555; margin: 0px; opacity: 0.85; z-index: 1100; padding: 3px 10px; border-radius: 4px; } #myButton { cursor: pointer; border-radius: 4px; align-content: center; font-family: Open Sans, !important; font-style: normal; font-size: 15px; background-color: white; color: black; border: 1px solid #555555; } #myContainer p { color: red; background: white; align-content: center; } ` );