您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Forum export for surveys on Prolific
// ==UserScript== // @name Prolific Export // @namespace https://github.com/Kadauchi/ // @version 1.1.0 // @description Forum export for surveys on Prolific // @author Kadauchi // @icon http://i.imgur.com/oGRQwPN.png // @include https://www.prolific.ac/studies* // @grant GM_setClipboard // ==/UserScript== function exportStudy (id) { const study = document.getElementById(id); const attrs = study.getElementsByTagName(`li`); const link = study.querySelector(`a[href^="/studies/"]`).href; const title = study.getElementsByTagName(`h3`)[0].textContent; const researcher = attrs[0].textContent.split(':')[1]; const reward = attrs[1].textContent.split(':')[1].split(`$`)[0]; const perhour = attrs[2].textContent.split(':')[1]; const available = attrs[3].textContent.split(':')[1]; const time = attrs[4].textContent.split(':')[1]; const completion = attrs[5].textContent.split(':')[1]; const exchangeRate = localStorage.getItem(`exchangeRate`); const exportcode = `[table][tr][td]` + `[b][size=5][color=red]PROLIFIC STUDY[/color][/size][/b]\n` + `[b]Title:[/b] [url=${link}]${title}[/url]\n` + `[b]Hosted by : [/b] ${researcher}\n` + `[b]Reward : [/b][color=green][b] ${reward}[/color] ${exchangeRate ? `| [color=green]$${(+exchangeRate * +reward.replace(/[^0-9.]/g, ``)).toFixed(2)}[/color]` : ``}[/b]\n` + `[b]Avg. Reward Per Hour : [/b] ${perhour} ${exchangeRate ? `| $${(+exchangeRate * +perhour.replace(/[^0-9.]/g, ``)).toFixed(2)}/hr` : ``}\n` + `[b]Available Places : [/b] ${available}\n` + `[b]Maximum Allowed Time : [/b] ${time}\n` + `[b]Avg. Completion Time : [/b] ${completion}\n` + `[/td][/tr][/table]` ; GM_setClipboard(exportcode); alert(`Forum export has been copied to your clipboard.`); } for (let elem of document.getElementsByClassName(`study`)) { elem.insertAdjacentHTML( `beforebegin`, `<button class="exporter" type="button" data-id="${elem.id}">Forum Export</button>` ); } document.addEventListener(`click`, function (event) { const elem = event.target; if (elem.matches(`.exporter`)) { exportStudy(elem.dataset.id); } });