Greasy Fork is available in English.
отслеживает событие transition и выводит его в консоль
- // ==UserScript==
- // @name Watch Transition
- // @namespace almaceleste
- // @version 0.2.0
- // @description watches for a transition event and prints it to the console
- // @description:ru отслеживает событие transition и выводит его в консоль
- // @author (ɔ) Paola Captanovska
- // @license AGPL-3.0-or-later; http://www.gnu.org/licenses/agpl
- // @icon https://cdn1.iconfinder.com/data/icons/jumpicon-basic-ui-line-1/32/-_Eye-Show-View-Watch-See-16.png
- // @icon64 https://cdn1.iconfinder.com/data/icons/jumpicon-basic-ui-line-1/32/-_Eye-Show-View-Watch-See-64.png
- // @homepageURL https://greasyfork.org/en/users/174037-almaceleste
- // @homepageURL https://openuserjs.org/users/almaceleste
- // @homepageURL https://github.com/almaceleste/userscripts
- // @supportURL https://github.com/almaceleste/userscripts/issues
- // @require https://code.jquery.com/jquery-3.3.1.js
- // @require https://openuserjs.org/src/libs/sizzle/GM_config.js
- // @grant GM_getValue
- // @grant GM_setValue
- // @grant GM_registerMenuCommand
- // @grant GM_openInTab
- // @match http*://*/*
- // ==/UserScript==
- // ==OpenUserJS==
- // @author almaceleste
- // ==/OpenUserJS==
- const windowcss = `
- #wtCfg {
- background-color: lightblue;
- }
- #wtCfg .reset_holder {
- float: left;
- position: relative;
- bottom: -1em;
- }
- #wtCfg .saveclose_buttons {
- margin: .7em;
- }
- #wtCfg_field_url {
- background: none !important;
- border: none;
- cursor: pointer;
- padding: 0 !important;
- text-decoration: underline;
- }
- #wtCfg_field_url:hover,
- #wtCfg_resetLink:hover {
- filter: drop-shadow(0 0 1px dodgerblue);
- }
- `;
- const iframecss = `
- height: 34.5em;
- width: 25em;
- border: 1px solid;
- border-radius: 3px;
- position: fixed;
- z-index: 9999;
- `;
- GM_registerMenuCommand('Watch Transition Settings', opencfg);
- function opencfg(){
- GM_config.open();
- wtCfg.style = iframecss;
- }
- GM_config.init({
- id: 'wtCfg',
- title: `Watch Transition ${GM_info.script.version}`,
- fields: {
- run: {
- section: ['', 'Watch events'],
- label: 'transitionrun (created, not started)',
- labelPos: 'right',
- title: 'fired when a CSS transition is created, when it is added to a set of running transitions, though not necessarily started',
- type: 'checkbox',
- default: false,
- },
- start: {
- label: 'transitionstart (started)',
- labelPos: 'right',
- title: 'fired when a CSS transition has started transitioning',
- type: 'checkbox',
- default: false,
- },
- cancel: {
- label: 'transitioncancel (canceled)',
- labelPos: 'right',
- title: 'fired when a CSS transition has been cancelled',
- type: 'checkbox',
- default: false,
- },
- end: {
- label: 'transitionend (finished)',
- labelPos: 'right',
- title: 'fired when a CSS transition has finished playing (most useful)',
- type: 'checkbox',
- default: true,
- },
- property: {
- label: 'print event property',
- labelPos: 'left',
- type: 'select',
- title: 'print one preferred event property before the whole event',
- options: [
- 'none',
- 'bubbles',
- 'cancelBubble',
- 'cancelable',
- 'composed',
- 'currentTarget',
- 'defaultPrevented',
- 'elapsedTime',
- 'eventPhase',
- 'isTrusted',
- 'path',
- 'propertyName',
- 'pseudoElement',
- 'returnValue',
- 'srcElement',
- 'target',
- 'timestamp',
- 'type'
- ],
- default: 'target',
- },
- italic: {
- section: ['', 'Style Settings'],
- label: 'italic font',
- labelPos: 'right',
- type: 'checkbox',
- default: false,
- },
- bold: {
- label: 'bold font',
- labelPos: 'right',
- type: 'checkbox',
- default: false,
- },
- method: {
- label: 'console method',
- labelPos: 'left',
- type: 'select',
- options: [
- 'debug',
- 'dir',
- 'dirxml',
- 'error',
- 'info',
- 'log',
- 'warn'
- ],
- default: 'log',
- },
- runcolor: {
- label: 'transitionrun color',
- labelPos: 'left',
- type: 'select',
- options: [
- 'unset',
- 'black',
- 'blue',
- 'green',
- 'aqua',
- 'red',
- 'purple',
- 'yellow',
- 'white',
- 'gray',
- 'lightskyblue',
- 'lightgreen',
- 'orangered',
- 'pink',
- 'gold',
- 'whitesmoke',
- 'lightgray',
- 'dimgray'
- ],
- default: 'unset',
- },
- runbackground: {
- label: 'transitionrun background',
- labelPos: 'left',
- type: 'select',
- options: [
- 'unset',
- 'black',
- 'blue',
- 'green',
- 'aqua',
- 'red',
- 'purple',
- 'yellow',
- 'white',
- 'gray',
- 'lightskyblue',
- 'lightgreen',
- 'orangered',
- 'pink',
- 'gold',
- 'whitesmoke',
- 'lightgray',
- 'dimgray'
- ],
- default: 'unset',
- },
- startcolor: {
- label: 'transitionstart color',
- labelPos: 'left',
- type: 'select',
- options: [
- 'unset',
- 'black',
- 'blue',
- 'green',
- 'aqua',
- 'red',
- 'purple',
- 'yellow',
- 'white',
- 'gray',
- 'lightskyblue',
- 'lightgreen',
- 'orangered',
- 'pink',
- 'gold',
- 'whitesmoke',
- 'lightgray',
- 'dimgray'
- ],
- default: 'unset',
- },
- startbackground: {
- label: 'transitionstart background',
- labelPos: 'left',
- type: 'select',
- options: [
- 'unset',
- 'black',
- 'blue',
- 'green',
- 'aqua',
- 'red',
- 'purple',
- 'yellow',
- 'white',
- 'gray',
- 'lightskyblue',
- 'lightgreen',
- 'orangered',
- 'pink',
- 'gold',
- 'whitesmoke',
- 'lightgray',
- 'dimgray'
- ],
- default: 'unset',
- },
- cancelcolor: {
- label: 'transitioncancel color',
- labelPos: 'left',
- type: 'select',
- options: [
- 'unset',
- 'black',
- 'blue',
- 'green',
- 'aqua',
- 'red',
- 'purple',
- 'yellow',
- 'white',
- 'gray',
- 'lightskyblue',
- 'lightgreen',
- 'orangered',
- 'pink',
- 'gold',
- 'whitesmoke',
- 'lightgray',
- 'dimgray'
- ],
- default: 'unset',
- },
- cancelbackground: {
- label: 'transitioncancel background',
- labelPos: 'left',
- type: 'select',
- options: [
- 'unset',
- 'black',
- 'blue',
- 'green',
- 'aqua',
- 'red',
- 'purple',
- 'yellow',
- 'white',
- 'gray',
- 'lightskyblue',
- 'lightgreen',
- 'orangered',
- 'pink',
- 'gold',
- 'whitesmoke',
- 'lightgray',
- 'dimgray'
- ],
- default: 'unset',
- },
- endcolor: {
- label: 'transitionend color',
- labelPos: 'left',
- type: 'select',
- options: [
- 'unset',
- 'black',
- 'blue',
- 'green',
- 'aqua',
- 'red',
- 'purple',
- 'yellow',
- 'white',
- 'gray',
- 'lightskyblue',
- 'lightgreen',
- 'orangered',
- 'pink',
- 'gold',
- 'whitesmoke',
- 'lightgray',
- 'dimgray'
- ],
- default: 'unset',
- },
- endbackground: {
- label: 'transitionend background',
- labelPos: 'left',
- type: 'select',
- options: [
- 'unset',
- 'black',
- 'blue',
- 'green',
- 'aqua',
- 'red',
- 'purple',
- 'yellow',
- 'white',
- 'gray',
- 'lightskyblue',
- 'lightgreen',
- 'orangered',
- 'pink',
- 'gold',
- 'whitesmoke',
- 'lightgray',
- 'dimgray'
- ],
- default: 'unset',
- },
- url: {
- section: ['', 'Support'],
- label: 'almaceleste.github.io',
- type: 'button',
- click: () => {
- GM_openInTab('https://almaceleste.github.io', {
- active: true,
- insert: true,
- setParent: true
- });
- }
- },
- },
- css: windowcss,
- events: {
- save: function() {
- GM_config.close();
- }
- },
- });
- function log(type, event){
- const color = GM_config.get(`${type}color`);
- const background = GM_config.get(`${type}background`);
- const style = `
- color: ${color};
- background-color: ${background};
- font-style: ${GM_config.get('italic') ? 'italic' : 'unset'};
- font-weight: ${GM_config.get('bold') ? 'bold' : 'unset'};
- `;
- let property = GM_config.get('property');
- if (property != 'none') {
- property = event.originalEvent[property];
- }
- else {
- property = '';
- }
- switch (GM_config.get('method')) {
- case 'debug':
- console.debug(`%ctransition${type}:`, style, property, event.originalEvent);
- break;
- case 'dir':
- console.log(`%ctransition${type}:`, style, property);
- console.dir(event.originalEvent);
- break;
- case 'dirxml':
- console.log(`%ctransition${type}:`, style, property);
- console.dirxml(event.originalEvent);
- break;
- case 'error':
- console.error(`%ctransition${type}:`, style, property, event.originalEvent);
- break;
- case 'info':
- console.info(`%ctransition${type}:`, style, property, event.originalEvent);
- break;
- case 'log':
- console.log(`%ctransition${type}:`, style, property, event.originalEvent);
- break;
- case 'warn':
- console.warn(`%ctransition${type}:`, style, property, event.originalEvent);
- break;
- default:
- console.log(`%ctransition${type}:`, style, property, event.originalEvent);
- break;
- }
- }
- (function() {
- 'use strict';
- $(document).ready(() => {
- $(window).on({
- transitionrun: (e) => {
- if (GM_config.get('run')) {
- log('run', e);
- }
- },
- transitionstart: (e) => {
- if (GM_config.get('start')) {
- log('start', e);
- }
- },
- transitioncancel: (e) => {
- if (GM_config.get('cancel')) {
- log('cancel', e);
- }
- },
- transitionend: (e) => {
- if (GM_config.get('end')) {
- log('end', e);
- }
- },
- });
- });
- })();