您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Считает и записывает клики, секунды, записывает данные по: кейсу, фио и отделению. Старт кликов и секунд начинается с нажатия на поле макета,сохранение в хранилище после нажатия на кнопку Обнулить. Выгрузка из хранилища на кнопку Сохранить.
当前为
// ==UserScript== // @name for figma client journey // @namespace http://tampermonkey.net/ // @version 0.1 // @description Считает и записывает клики, секунды, записывает данные по: кейсу, фио и отделению. Старт кликов и секунд начинается с нажатия на поле макета,сохранение в хранилище после нажатия на кнопку Обнулить. Выгрузка из хранилища на кнопку Сохранить. // @author You // @match https://www.figma.com/proto/* // @icon https://www.google.com/s2/favicons?domain=figma.com // @grant none // ==/UserScript== //zNode.style.cssText = `cursor: pointer; position: fixed; top: 120px; left: 0px; font-size: 12.8px; border: 1.5px outset black; opacity: 0.9; z-index: 1100; padding: 0px; display: grid; grid-template-columns: 1fr;` page_start() //проверяю загружена ли страница function page_start() { if (document.querySelector('#react-page > div > div > div.progress_bar--outer--3EVoD > div.progress_bar--centerContainer--1Ed_5') == null) { start_opros() } else { setTimeout(page_start,1000) } } function start_opros() { let personalyty = document.createElement('div') personalyty.innerHTML = ` \ <div id="personalyty"> \ <form> \ <div id="msg"></div> \ <input type="text" placeholder="Номер кейса" id="Case" value=""> \ <input type="text" placeholder="Отделение" id="otdelenye" value=""> \ <input type="text" placeholder="ФИО" id="fio" value=""> \ <button id="btn_dowload_log" type="button">Скачать</button> \ </form> \ </div> \ `; personalyty.style.cssText = `cursor: pointer;position: fixed;top: 1px;left: 300px;font-size: 12.8px;border: 1.5px outset black;opacity: 0.3;z-index: 1100;padding: 0px;display: grid;grid-template-columns: 1fr;` document.body.appendChild (personalyty) document.querySelector('#viewerContainer > div > div > canvas').style.cursor = 'default' let text_counter = document.createElement ('div'); let click_count = 0 let inc = 0 text_counter.innerHTML = `<text id="text_counter" type="text">${click_count}</text>`; text_counter.setAttribute ('id', 'click_count'); document.querySelector('#react-page > div > div > div.prototype--documentationContainer--JPUjj > div > div.header--header--3d0kA.header--headerWithSidebar--16-MP > div.header--leftColumn--3jpUC.header--sideColumn--11Nzb.header--column--_eCKx').appendChild (text_counter); document.querySelector('#viewerContainer > div > div > canvas').addEventListener ("click", counter); function counter() { click_count++ document.querySelector('#click_count').textContent = click_count } let btn_counter = document.createElement ('div'); btn_counter.innerHTML = '<button id="btn_counter" type="button"> Обнулить </button>'; btn_counter.setAttribute ('id', 'btn_counter'); document.querySelector('#react-page > div > div > div.prototype--documentationContainer--JPUjj > div > div.header--header--3d0kA.header--headerWithSidebar--16-MP > div.header--leftColumn--3jpUC.header--sideColumn--11Nzb.header--column--_eCKx').appendChild (btn_counter); document.querySelector('#btn_counter').addEventListener ("click", btn_counter_to_null); function btn_counter_to_null() { inc++ writelog() } let second = 0 setInterval(f, 1000) function f() { second++ } function writelog() { let otdelenye = document.querySelector('#otdelenye').value let fio = document.querySelector('#fio').value let Case = document.querySelector('#Case').value let date = new Date let date_date = date.toLocaleDateString() let time = date.toTimeString().slice(0, 5) let new_log = 'Дата: ' + date_date + ' Время: ' + time +' Отделение: ' +otdelenye + ' Респондент: ' + fio + ' Кейс №: '+ Case + ' Кликов: ' + click_count + ' Секунд: ' + second + ' Инкремент: ' + inc+ '\n' let old_log = localStorage.getItem('opros') if (localStorage.getItem('opros') !== null) { localStorage.setItem('opros', old_log+new_log) } else { localStorage.setItem('opros', new_log) } console.log(old_log) console.log(old_log+new_log) click_count = 0 //click_count++ document.querySelector('#click_count').textContent = 0 second = 0 document.querySelector('#btn_dowload_log').addEventListener ("click", download_log) function download_log() { let data = localStorage.getItem('opros') let filename = 'figma_kiv' download(data,filename) function download(data, filename, type) { var file = new Blob([data], {type: type}); if (window.navigator.msSaveOrOpenBlob) // IE10+ window.navigator.msSaveOrOpenBlob(file, filename); else { // Others var a = document.createElement("a"), url = URL.createObjectURL(file); a.href = url; a.download = filename; document.body.appendChild(a); a.click(); setTimeout(function() { document.body.removeChild(a); window.URL.revokeObjectURL(url); }, 0); } } } } }