您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
显示当前网站的所有可用UserJS(Tampermonkey)脚本,交流QQ群:104267383
当前为
// ==UserScript== // @name Magic Userscript+ : Show Site All UserJS // @name:zh Magic Userscript+ : 显示当前网站所有可用的UserJS脚本 Jaeger // @name:zh-CN Magic Userscript+ : 显示当前网站所有可用的UserJS脚本 Jaeger // @name:zh-TW Magic Userscript+ : 顯示當前網站所有可用的UserJS腳本 Jaeger // @name:ja Magic Userscript+ : 現在のサイトの利用可能なすべてのUserJSスクリプトを表示するJaeger // @name:ru-RU Magic Userscript+ : Показать пользовательские скрипты (UserJS) для сайта. Jaeger // @name:ru Magic Userscript+ : Показать пользовательские скрипты (UserJS) для сайта. Jaeger // @description Show current site all UserJS, the easier way to install UserJs for Tampermonkey. // @description:zh 显示当前网站的所有可用UserJS(Tampermonkey)脚本,交流QQ群:104267383 // @description:zh-CN 显示当前网站的所有可用UserJS(Tampermonkey)脚本,交流QQ群:104267383 // @description:zh-TW 顯示當前網站的所有可用UserJS(Tampermonkey)腳本,交流QQ群:104267383 // @description:ja 現在のサイトで利用可能なすべてのUserJS(Tampermonkey)スクリプトを表示します。 // @description:ru-RU Показывает пользовательские скрипты (UserJS) для сайта. Легкий способ установить пользовательские скрипты для Tampermonkey. // @description:ru Показывает пользовательские скрипты (UserJS) для сайта. Легкий способ установить пользовательские скрипты для Tampermonkey. // @author Magic <[email protected]> // @version 3.5.15 // @icon data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH3ggEBCQHM3fXsAAAAVdJREFUOMudkz2qwkAUhc/goBaGJBgUtBCZyj0ILkpwAW7Bws4yO3AHLiCtEFD8KVREkoiFxZzX5A2KGfN4F04zMN+ce+5c4LMUgDmANYBnrnV+plBSi+FwyHq9TgA2LQpvCiEiABwMBtzv95RSfoNEHy8DYBzHrNVqVEr9BWKcqNFoxF6vx3a7zc1mYyC73a4MogBg7vs+z+czO50OW60Wt9stK5UKp9Mpj8cjq9WqDTBHnjAdxzGQZrPJw+HA31oulzbAWgLoA0CWZVBKIY5jzGYzdLtdE9DlcrFNrY98zobqOA6TJKHW2jg4nU5sNBpFDp6mhVe5rsvVasUwDHm9Xqm15u12o+/7Hy0gD8KatOd5vN/v1FozTVN6nkchxFuI6hsAAIMg4OPxMJCXdtTbR7JJCMEgCJhlGUlyPB4XfumozInrupxMJpRSRtZlKoNYl+m/6/wDuWAjtPfsQuwAAAAASUVORK5CYII= // @supportURL https://github.com/magicoflolis/Userscript-Plus/issues/new // @namespace https://github.com/magicoflolis/Userscript-Plus // @homepageURL https://github.com/magicoflolis/Userscript-Plus // @license MIT // @connect greatest.deepsurf.us // @connect sleazyfork.org // @connect cdn.jsdelivr.net // @include * // @exclude *://paypal.com/* // @exclude *://mega.nz // @exclude *://*.alipay.com/* // @exclude *://*bank.*/* // @exclude *://*perfectmoney.*/* // @exclude *://*stripe.com/* // @exclude *://*ica.yandex.com/* // @exclude *://*authorize.net/* // @exclude *://*2checkout.com/* // @exclude *://192.168* // @exclude *://127.0.0* // @exclude *://router.*.*/* // @exclude *://gitlab.com/* // @exclude *://10.0.0* // @exclude *://*skrill.com/* // @exclude *://*zalo.me/* // @exclude *://pay.amazon.*/* // @exclude *://*.opayo.co.uk/* // @exclude *://*.payza.org/* // @exclude *://*.bluesnap.com/* // @exclude *://securionpay.com/* // @exclude *://*.unionpayintl.*/* // @exclude *://*.99bill.com/* // @exclude *://*.yeepay.com/* // @exclude *://*payoneer.com/* // @exclude *://*myetherwallet.com/* // @exclude *://bitpay.com/* // @exclude *://*.*/login // @exclude *://*.*/join // @exclude *://*.*/signin // @exclude *://*.*/signup // @exclude *://*.*/sign-up // @exclude *://*.*/cart // @exclude *://*.*.gov/* // @exclude *://*.*/password_reset // @exclude *://*.*/checkout* // @exclude *://*.*/settings/* // @exclude *://*.*/options/* // @exclude *://*.*.*/login // @exclude *://*.*.*/join // @exclude *://*.*.*/signin // @exclude *://*.*.*/signup // @exclude *://*.*.*/sign-up // @exclude *://*.*.*/cart // @exclude *://*.*.*/checkout* // @exclude *://*.*.*/settings/* // @exclude *://*.*.*/options/* // @exclude *://*.*.*.gov/* // @exclude *://*.*.*/password_reset // @grant GM_xmlhttpRequest // @grant GM_openInTab // @compatible chrome // @compatible firefox // @compatible edge // @compatible opera // @compatible safari // @noframes // @run-at document-end // ==/UserScript== /** * Enable built-in "Greasyfork Search with Sleazyfork Results include" * 启用内置"使用 Sleazyfork 搜索"结果包括" * 組み込みの「スライジーフォークの結果を含む脂っこく検索」を有効にする * Включить встроенный "Greasyfork Поиск с Sleazyfork Результаты включают" * https://greatest.deepsurf.us/scripts/23840 */ const sleazyfork_redirect = true, // 'true' to enable, 'false' to disable /** * Injected stylesheet * https://github.com/magicoflolis/Userscript-Plus/tree/master/src/sass */ main_css = `magic-userjs{cursor:default}magic-userjs *{line-height:normal}.hidden{display:none !important;z-index:-1 !important}.main{position:fixed;height:492px;margin-left:1rem;margin-right:1rem;bottom:1rem;right:1rem;background:#495060 !important;color:#fff !important;border:1px solid rgba(0,0,0,0);border-radius:10px;font-size:14px !important;font-family:arial,sans-serif !important}.main:not(.hidden){z-index:100000000000000020 !important;display:grid !important}.main *:not(magicuserjs-a,magicuserjs-btn,count-frame,.counterframe,.count){background:#495060 !important;color:#fff !important}.counterframe{border-radius:100%;padding:.5%;width:25px !important;height:25px !important}.count{background:rgba(0,0,0,0)}.mainframe{background:#495060 !important;color:#fff !important;border:2px solid rgba(0,0,0,0);border-radius:100%;padding:.5% !important;position:fixed;bottom:1rem;right:1rem;width:25px !important;height:25px !important}.mainframe:not(.hidden){z-index:100000000000000020 !important;display:block}count-frame{border:2px solid rgba(0,0,0,0);font-size:16px;font-weight:400;display:block;text-align:center}count-frame{line-height:normal !important;width:auto !important;height:auto !important}.magicuserjs-header{display:flex;gap:10px;border-bottom:1px solid #fff;border-top-left-radius:10px;border-top-right-radius:10px;height:fit-content;padding:10px;font-size:1em;justify-content:space-between}.magicuserjs-body{overflow-y:scroll;overflow-x:hidden;scrollbar-color:#fff #2e323d;scrollbar-width:thin;border:1px solid rgba(0,0,0,0);border-bottom-left-radius:10px;border-bottom-right-radius:10px}.magicuserjs-eframe,.frame{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;font-size:1em}.frame{border-bottom:1px solid #fff}@media screen and (max-width: 580px){.frame{display:flow-root !important;height:fit-content !important}}.frame:not(.sf) magicuserjs-a{color:#00b7ff !important}.frame:not(.sf) magicuserjs-btn{color:#fff;background-color:#2d8cf0;border-color:#2d8cf0}.frame.sf magicuserjs-a{color:#ed3f14 !important}.frame.sf magicuserjs-btn{background-color:#ed3f14 !important;border-color:#ed3f14 !important}.magicuserjs-name{font-size:inherit !important;display:grid;margin-left:1%;margin-top:.67em;margin-bottom:.67em}.magicuserjs-name span{font-size:.8em !important}.magicuserjs-eframe{margin-right:1%;margin-top:.67em;margin-bottom:.67em}@media screen and (max-width: 580px){.magicuserjs-eframe{height:fit-content !important}}.magicuserjs-uframe{display:grid;grid-auto-flow:column;grid-gap:1em}magic-btn{font-style:normal;font-weight:400;font-variant:normal;text-transform:none;text-rendering:auto;border:1px solid #fff;font-size:16px;border-radius:4px;line-height:1;padding:6px 15px;width:fit-content}magic-column{display:flex;gap:10px}magic-btn svg{fill:#fff;width:12px;height:12px}.searcher{border:1px solid #fff;border-radius:4px;line-height:1;width:170px;outline:0px !important}magicuserjs-btn{font-size:12px;border-radius:3px;font-style:normal;padding:6px 15%;font-weight:400;font-variant:normal;line-height:21px}magicuserjs-a,magicuserjs-btn,.mainbtn,.mainframe,magic-btn{cursor:pointer !important}.magicuserjs-uframe,.magicuserjs-daily,.magicuserjs-updated,.install,.magicuserjs-homepage,.magicuserjs-fver,.magicuserjs-fdesc{width:fit-content;height:fit-content}`; (() => { const log = (...msg) => console.log('[%cUserJS%c] %cDBG', 'color: rgb(29, 155, 240);', '', 'color: rgb(255, 212, 0);', ...msg), err = (...msg) => {console.error('[%cUserJS%c] %cERROR', 'color: rgb(29, 155, 240);', '', 'color: rgb(249, 24, 128);', ...msg)}; let checkGMSupport = typeof GM !== 'undefined' || typeof VM !== 'undefined', MU = {}; if(checkGMSupport) { MU = { // getValue: GM_getValue, // setValue: GM_setValue, openInTab: GM_openInTab, xmlhttpRequest: GM_xmlhttpRequest, }; }; let langs = { en: { daily: 'Daily Installs', close: 'No longer show', search: 'Search', searcher: 'Title | Description | Author...', install: 'Install', issue: 'New Issue', version: 'Version', updated: 'Last Updated', legacy: 'Legacy', }, es: { daily: 'Instalaciones diarias', close: 'Ya no se muestra', search: 'Busque en', searcher: 'Título | Descripción | Autor...', install: 'Instalar', issue: 'Nueva edición', version: 'Versión', updated: 'Última actualización', legacy: 'Legado', }, ru: { daily: 'Ежедневные установки', close: 'Больше не показывать', search: 'Поиск', searcher: 'Название | Описание | Автор...', install: 'Установите', issue: 'Новый выпуск', version: 'Версия', updated: 'Последнее обновление', legacy: 'Наследие', }, ja: { daily: 'デイリーインストール', close: '表示されなくなりました', search: '検索', searcher: 'タイトル|説明|著者...', install: 'インストール', issue: '新刊のご案内', version: 'バージョン', updated: '最終更新日', legacy: 'レガシー', }, fr: { daily: 'Installations quotidiennes', close: 'Ne plus montrer', search: 'Recherche', searcher: 'Titre | Description | Auteur...', install: 'Installer', issue: 'Nouveau numéro', version: 'Version', updated: 'Dernière mise à jour', legacy: 'Héritage', }, zh: { daily: '日常安装', close: '不再显示', search: '搜索', searcher: '标题|描述|作者...', install: '安装', issue: '新问题', version: '版本', updated: '最后更新', legacy: '遗产', }, }, sitegfcount = 0, sitesfcount = 0, lang = langs[navigator.language.split('-')[0] ?? 'en']; const win = self ?? window, doc = win.document, /** Can create various elements */ make = (element,cname,attrs = {}) => { let el = doc.createElement(element); cname ? (el.className = cname) : false; if(attrs) {for(let key in attrs) {el[key] = attrs[key]}}; return el; }, ifram = make('iframe','', { src: 'about:blank', style: `position: fixed; bottom: 1rem; right: 1rem; height: 525px; width: 90%; margin-left: 1rem; margin-right: 1rem; z-index: 100000000000000020 !important; ` }), container = make('magic-userjs'); if(container.attachShadow) { container.attachShadow({ mode: 'open' }); doc.body.append(container); } else { doc.body.append(ifram); ifram.onload = () => { ifram.contentDocument.body.append(container); if(container.attachShadow) { container.attachShadow({ mode: 'open' }); } else { ifram.contentDocument.body.setAttribute('style','background-color: black;color: white;'); ifram.contentDocument.body.innerHTML = '[ERROR] Unsupported { attachShadow }... yeah still need to work on that :)'; delay(5000).then(() => { ifram.remove() }) }; }; } const qs = (element, selector) => { selector = selector ?? doc ?? doc.body; return selector.querySelector(element); }, shA = (element) => { return container.shadowRoot.querySelectorAll(element); }, estr = (str) => str === null || str.trim() === '', delay = ms => new Promise(resolve => setTimeout(resolve, ms)), fetchURL = async (url,method = 'GET',responseType = 'json',params = {}) => { try { return new Promise((resolve, reject) => { if(checkGMSupport) { MU.xmlhttpRequest({ method: method, url, responseType, ...params, onprogress: p => log(`Progress: ${p.loaded} / ${p.total}`), onerror: e => reject(e), onload: (r) => { if(r.status !== 200) reject(`${r.status} ${url}`); resolve(r.response); }, }); } else { fetch(url, { method: method, ...params, }).then((response) => { if(!response.ok) reject(response); if(responseType.includes('json')) { resolve(response.json()); } else if(responseType.includes('text')) { resolve(response.text()); } else if(responseType.includes('blob')) { resolve(response.blob()); }; resolve(response); }); } }); } catch (error) {err(error);} }, sleazy = () => { let otherSite = /greasyfork\.org/.test(document.location.hostname) ? 'sleazyfork' : 'greasyfork'; return qs('span.sign-in-link') ? /scripts\/\d+/.test(document.location.href) ? !qs('#script-info') && (otherSite == 'greasyfork' || qs('div.width-constraint>section>p>a')) ? location.href = location.href.replace(/\/\/([^.]+\.)?(greasyfork|sleazyfork)\.org/, '//$1' + otherSite + '.org') : false : false : false; }, openpage = (url) => { if(checkGMSupport) { MU.openInTab(url, { active: true, insert: true, }); } else { let dwnbtn = make('a','magicuserjs-dwnbtn', { href: url, target: '_blank', rel: 'noopener', }); dwnbtn.click(); dwnbtn.remove(); } }, countsite = async () => { try { if(!container.attachShadow) return false; let host = location.hostname.split('.').splice(-2).join('.'), gfCount = await fetchURL(`https://greatest.deepsurf.us/scripts/by-site/${host}.json`), sfCount = await fetchURL(`https://sleazyfork.org/scripts/by-site/${host}.json`), siteujs = [], main = make('magic-userjs','main hidden'), usercss = make('style', 'primary-stylesheet', {innerHTML: main_css,}), tbody = make('magic-userjs','magicuserjs-body'), header = make('magic-userjs','magicuserjs-header'), mainframe = make('magic-userjs','mainframe', { onclick: (e) => { e.preventDefault(); main.classList.remove('hidden'); mainframe.classList.add('hidden'); } }), mainbtn = make('count-frame','mainbtn', { innerHTML: '0', }), searcher = make('input','searcher hidden', { autocomplete: 'off', spellcheck: false, type: 'text', placeholder: lang.searcher, oninput: (e) => { e.preventDefault(); let v = e.target.value; if(!estr(v)) { let reg = new RegExp(v,'gi'); for(let ujs of shA('.frame')) { let m = ujs.children[0], n = ujs.children[1], final = m.textContent.match(reg) || n.textContent.match(reg) || []; if(final.length === 0) { ujs.classList.add('hidden'); } else { ujs.classList.remove('hidden'); }; }; } else { for(let ujs of shA('.frame')) { ujs.classList.remove('hidden') }; }; }, }), searchbtn = make('magic-btn','search', { title: lang.search, innerHTML: `<svg viewBox='0 0 487.95 487.95'><g><path d='M481.8,453l-140-140.1c27.6-33.1,44.2-75.4,44.2-121.6C386,85.9,299.5,0.2,193.1,0.2S0,86,0,191.4s86.5,191.1,192.9,191.1 c45.2,0,86.8-15.5,119.8-41.4l140.5,140.5c8.2,8.2,20.4,8.2,28.6,0C490,473.4,490,461.2,481.8,453z M41,191.4 c0-82.8,68.2-150.1,151.9-150.1s151.9,67.3,151.9,150.1s-68.2,150.1-151.9,150.1S41,274.1,41,191.4z'/></g></svg>`, onclick: (e) => { e.preventDefault(); searcher.classList.toggle('hidden'); } }), closebtn = make('magic-btn','close', { title: lang.close, innerHTML: 'X', onclick: (e) => { e.preventDefault(); main.classList.add('hidden'); mainframe.classList.remove('hidden'); delay(10000).then(() => { mainframe.classList.add('hidden'); ifram.setAttribute('style','display:none;'); }) } }), countframe = make('magic-column'), gfcountframe = make('magic-userjs', 'counterframe', { style: 'background: #00b7ff;' }), sfcountframe = make('magic-userjs', 'counterframe', { style: 'background: #ed3f14;' }), gfcounter = make('count-frame','count', { title: 'https://greatest.deepsurf.us', }), sfcounter = make('count-frame','count', { title: 'https://sleazyfork.org', }), btnframe = make('magic-column', 'btnframe'), btnhome = make('magic-btn','github', { title: 'GitHub', innerHTML: `<svg viewBox="0 0 16 16"><path d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.012 8.012 0 0 0 16 8c0-4.42-3.58-8-8-8z"/></svg>`, onclick: (e) => { e.preventDefault(); openpage('https://github.com/magicoflolis/Userscript-Plus'); } }), btnissue = make('magic-btn','issue', { title: lang.issue, innerHTML: `<svg viewBox="0 0 24 24"><path fill="none" stroke="#ffff" stroke-width="2" d="M23,20 C21.62,17.91 20,17 19,17 M5,17 C4,17 2.38,17.91 1,20 M19,9 C22,9 23,6 23,6 M1,6 C1,6 2,9 5,9 M19,13 L24,13 L19,13 Z M5,13 L0,13 L5,13 Z M12,23 L12,12 L12,23 L12,23 Z M12,23 C8,22.9999998 5,20.0000002 5,16 L5,9 C5,9 8,6.988 12,7 C16,7.012 19,9 19,9 C19,9 19,11.9999998 19,16 C19,20.0000002 16,23.0000002 12,23 L12,23 Z M7,8 L7,6 C7,3.24 9.24,1 12,1 C14.76,1 17,3.24 17,6 L17,8"/></svg>`, onclick: (e) => { e.preventDefault(); openpage('https://github.com/magicoflolis/Userscript-Plus/issues/new'); } }), btngreasy = make('magic-btn','greasy', { title: 'Greasy Fork', innerHTML: `<svg viewBox="0 0 510.4 510.4"><g><path d="M505.2,80c-6.4-6.4-16-6.4-22.4,0l-89.6,89.6c-1.6,1.6-6.4,3.2-12.8,1.6c-4.8-1.6-9.6-3.2-14.4-6.4L468.4,62.4 c6.4-6.4,6.4-16,0-22.4c-6.4-6.4-16-6.4-22.4,0L343.6,142.4c-3.2-4.8-4.8-9.6-4.8-12.8c-1.6-6.4-1.6-11.2,1.6-12.8L430,27.2 c6.4-6.4,6.4-16,0-22.4c-6.4-6.4-16-6.4-22.4,0L290.8,121.6c-16,16-20.8,40-14.4,62.4l-264,256c-16,16-16,43.2,0,59.2 c6.4,6.4,16,11.2,27.2,11.2c11.2,0,22.4-4.8,30.4-12.8L319.6,232c8,3.2,16,4.8,24,4.8c16,0,32-6.4,44.8-17.6l116.8-116.8 C511.6,96,511.6,86.4,505.2,80z M46,475.2c-3.2,3.2-9.6,3.2-14.4,0c-3.2-3.2-3.2-9.6,1.6-12.8l257.6-249.6c0,0,1.6,1.6,1.6,3.2 L46,475.2z M316.4,192c-14.4-14.4-16-35.2-4.8-48c4.8,11.2,11.2,22.4,20.8,32c9.6,9.6,20.8,16,32,20.8 C351.6,208,329.2,206.4,316.4,192z"/></g></svg>`, onclick: (e) => { e.preventDefault(); openpage('https://greatest.deepsurf.us/scripts/421603'); } }), btnlegacy = make('magic-btn','legacy', { title: lang.legacy, innerHTML: `<svg viewBox="0 0 510.4 510.4"><g><path d="M505.2,80c-6.4-6.4-16-6.4-22.4,0l-89.6,89.6c-1.6,1.6-6.4,3.2-12.8,1.6c-4.8-1.6-9.6-3.2-14.4-6.4L468.4,62.4 c6.4-6.4,6.4-16,0-22.4c-6.4-6.4-16-6.4-22.4,0L343.6,142.4c-3.2-4.8-4.8-9.6-4.8-12.8c-1.6-6.4-1.6-11.2,1.6-12.8L430,27.2 c6.4-6.4,6.4-16,0-22.4c-6.4-6.4-16-6.4-22.4,0L290.8,121.6c-16,16-20.8,40-14.4,62.4l-264,256c-16,16-16,43.2,0,59.2 c6.4,6.4,16,11.2,27.2,11.2c11.2,0,22.4-4.8,30.4-12.8L319.6,232c8,3.2,16,4.8,24,4.8c16,0,32-6.4,44.8-17.6l116.8-116.8 C511.6,96,511.6,86.4,505.2,80z M46,475.2c-3.2,3.2-9.6,3.2-14.4,0c-3.2-3.2-3.2-9.6,1.6-12.8l257.6-249.6c0,0,1.6,1.6,1.6,3.2 L46,475.2z M316.4,192c-14.4-14.4-16-35.2-4.8-48c4.8,11.2,11.2,22.4,20.8,32c9.6,9.6,20.8,16,32,20.8 C351.6,208,329.2,206.4,316.4,192z"/></g></svg>`, onclick: (e) => { e.preventDefault(); openpage('https://cdn.jsdelivr.net/gh/magicoflolis/Userscript-Plus@master/archive/magic-userjs.user.js'); } }), createjs = (ujs, issleazy) => { let frame = make('magic-userjs',`frame ${issleazy ? 'sf' : ''}`), fname = make('magic-userjs','magicuserjs-name'), ftitle = make('magicuserjs-a','magicuserjs-homepage', { title: ujs.name, innerHTML: ujs.name, onclick: (e) => { e.preventDefault(); openpage(ujs.url); } }), fver = make('magic-userjs','magicuserjs-fver', { innerHTML: `${lang.version}: ${ujs.version}`, }), fdesc = make('magic-userjs','magicuserjs-fdesc', { title: ujs.description, innerHTML: ujs.description, }), eframe = make('magic-userjs','magicuserjs-eframe'), uframe = make('magic-userjs','magicuserjs-uframe'), fdaily = make('magic-userjs','magicuserjs-daily', { title: lang.daily, innerHTML: ujs.daily_installs, }), fupdated = make('magic-userjs','magicuserjs-updated', { title: lang.updated, innerHTML: new Intl.DateTimeFormat(navigator.language).format(new Date(ujs.code_updated_at)), }), fdwn = make('magicuserjs-btn','install', { title: `${lang.install} '${ujs.name}'`, innerHTML: lang.install, onclick: async (e) => { e.preventDefault(); openpage(ujs.code_url); }, }); for(let u of ujs.users) { let user = make('magicuserjs-a','magicuserjs-euser', { innerHTML: u.name, onclick: (e) => { e.preventDefault(); openpage(u.url); }, }); uframe.append(user); }; eframe.append(uframe,fdaily,fupdated,fdwn); fname.append(ftitle,fver,fdesc); frame.append(fname,eframe); tbody.append(frame); }; gfcountframe.append(gfcounter); sfcountframe.append(sfcounter); countframe.append(gfcountframe,sfcountframe); btnframe.append(searcher,searchbtn,btnissue,btnhome,btngreasy,btnlegacy,closebtn); header.append(countframe,btnframe); main.append(header,tbody); mainframe.append(mainbtn); container.shadowRoot.append(usercss,mainframe,main); for(let ujs of gfCount) { if(ujs.deleted) continue; siteujs.push( { url: ujs, sleazy: false, }, ); sitegfcount++; }; for(let ujs of sfCount) { if(ujs.deleted) continue; siteujs.push( { url: ujs, sleazy: true, }, ); sitesfcount++; }; for(let ujs of siteujs) { createjs(ujs.url,ujs.sleazy); }; if(sitegfcount > sitesfcount) { mainbtn.innerHTML = sitegfcount } else { mainbtn.innerHTML = sitesfcount }; gfcounter.innerHTML = sitegfcount; sfcounter.innerHTML = sitesfcount; delay(10000).then(() => { if(!mainframe.classList.contains('hidden')) { mainframe.classList.add('hidden'); ifram.setAttribute('style','display:none;'); }; }); } catch(error) {err(error)} }; if(/greasyfork\.org/.test(doc.location.hostname) && sleazyfork_redirect) { sleazy() }; if (doc.readyState == 'complete') { countsite(); } else { win.addEventListener('load', countsite); }; })();