// ==UserScript== // @name Show Hidden Qualtrics Progress // @namespace mktemp@pm.me // @version 1.0 // @description Shows hidden progress on qualtrics surveys // @author letsfindcommonground // @match https://*.qualtrics.com/* // @grant none // @downloadURL none // ==/UserScript== (function() { 'use strict'; let progress = window.QSettings.pt.ProgressPercent; if(progress === null) { return; } document.querySelector('body').insertAdjacentHTML('afterbegin', ` ${progress}% `); let indicator = document.querySelector('#tampermonkey-progress-indicator'); indicator.style.cssText = `color: white; background: black; padding: 8px 12px; position: absolute; left: 0; top: 0; cursor: pointer; opacity: 1;`; indicator.addEventListener('click', () => { indicator.style.opacity = (indicator.style.opacity !== '1') ? '1' : '0.2' }); let oldXHROpen = window.XMLHttpRequest.prototype.open; window.XMLHttpRequest.prototype.open = function(method, url, async, user, password) { if(url.includes('next?rand=')) { this.addEventListener('load', function() { const result = JSON.parse(this.response); indicator.innerHTML = `${result.ProgressPercent}%`; }); } return oldXHROpen.apply(this, arguments); }; })();