Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // ==UserScript==
- // @name Userscript+ : Show Site All UserJS
- // @name:zh Userscript+ : 显示当前网站所有可用的UserJS脚本 Jaeger
- // @name:zh-CN Userscript+ : 显示当前网站所有可用的UserJS脚本 Jaeger
- // @name:zh-TW Userscript+ : 顯示當前網站所有可用的UserJS腳本 Jaeger
- // @name:ja Userscript +:現在のサイトの利用可能なすべてのUserJSスクリプトを表示するJaeger
- // @name:ru-RU Userscript+ : Показать пользовательские скрипты (UserJS) для сайта. Jaeger
- // @name:ru Userscript+ : Показать пользовательские скрипты (UserJS) для сайта. Jaeger
- // @namespace https://github.com/jae-jae/Userscript-Plus
- // @version 2.3.6
- // @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 Jaeger <JaegerCode@gmail.com>
- // @icon data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH3ggEBCQHM3fXsAAAAVdJREFUOMudkz2qwkAUhc/goBaGJBgUtBCZyj0ILkpwAW7Bws4yO3AHLiCtEFD8KVREkoiFxZzX5A2KGfN4F04zMN+ce+5c4LMUgDmANYBnrnV+plBSi+FwyHq9TgA2LQpvCiEiABwMBtzv95RSfoNEHy8DYBzHrNVqVEr9BWKcqNFoxF6vx3a7zc1mYyC73a4MogBg7vs+z+czO50OW60Wt9stK5UKp9Mpj8cjq9WqDTBHnjAdxzGQZrPJw+HA31oulzbAWgLoA0CWZVBKIY5jzGYzdLtdE9DlcrFNrY98zobqOA6TJKHW2jg4nU5sNBpFDp6mhVe5rsvVasUwDHm9Xqm15u12o+/7Hy0gD8KatOd5vN/v1FozTVN6nkchxFuI6hsAAIMg4OPxMJCXdtTbR7JJCMEgCJhlGUlyPB4XfumozInrupxMJpRSRtZlKoNYl+m/6/wDuWAjtPfsQuwAAAAASUVORK5CYII=
- // @include *
- // @require https://greasyfork.org/scripts/23419-l-js/code/ljs.js
- // @require https://greasyfork.org/scripts/23420-userjs-base-js/code/userjs-basejs.js
- // @resource uiJs https://raw.githubusercontent.com/jae-jae/Show-Site-All-UserJS/master/dist/ui.gf.js?_=1563633089382
- // @resource ui https://raw.githubusercontent.com/jae-jae/Show-Site-All-UserJS/master/dist/ui.html?_=1563633089383
- // @resource count https://greasyfork.org/scripts/by-site.json
- // @grant GM_xmlhttpRequest
- // @grant GM_getResourceText
- // @grant GM_getValue
- // @grant GM_setValue
- // @grant unsafeWindow
- // @noframes
- // @connect cdn.bootcss.com
- // @connect raw.githubusercontent.com
- // @connect gist.githubusercontent.com
- // @connect cdnjs.cloudflare.com
- // @connect greasyfork.org
- // @run-at document-end
- // ==/UserScript==
- unsafeWindow.GmAjax = GM_xmlhttpRequest;
- (function() {
- 'use strict';
- var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
- function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
- var FetchUserjs = function () {
- function FetchUserjs() {
- _classCallCheck(this, FetchUserjs);
- this.host = this.getMainHost();
- this.showTime = 10;
- this.quietKey = 'jae_fetch_userjs_quiet';
- this.countKey = 'jae_fetch_userjs_count';
- this.tplBox = '<div id="jae_userscript_box"><style>.jae-userscript{position:fixed;width:370px;bottom:10px;right:20px;z-index:9999999999;height:56px}.jae-userscript-shadow{box-shadow:0 1px 4px rgba(0,0,0,.3),\\t\\t\\t\\t0px 0 20px rgba(0,0,0,.1) inset}.jae-userscript-shadow::before,.jae-userscript-shadow::after{content:"";position:absolute;z-index:-1}.jae-userscript-shadow::before,.jae-userscript-shadow::after{content:"";position:absolute;z-index:-1;bottom:15px;left:10px;width:50%;height:20%}.jae-userscript-shadow::before,.jae-userscript-shadow::after{content:"";position:absolute;z-index:-1;bottom:15px;left:10px;width:50%;height:20%;box-shadow:0 15px 10px rgba(0,0,0,.7);transform:rotate(-3deg)}.jae-userscript-shadow::after{right:10px;left:auto;transform:rotate(3deg)}</style><div class="jae-userscript" class=""></div></div>';
- }
- _createClass(FetchUserjs, [{
- key: 'getMainHost',
- value: function getMainHost() {
- var host = window.location.hostname;
- return psl.get(host) || host.split('.').splice(-2).join('.');
- }
- }, {
- key: 'getCountData',
- value: function getCountData(host) {
- var countData = GM_getResourceText('count');
- countData = JSON.parse(countData);
- var count = countData[host];
- sessionStorage.setItem(this.countKey, count);
- return count;
- }
- }, {
- key: 'setSize',
- value: function setSize(w, h) {
- $('.jae-userscript').css({
- width: w,
- height: h
- });
- }
- }, {
- key: 'addEventListener',
- value: function addEventListener(eventName, handler) {
- document.getElementById('jae_userscript_box').addEventListener(eventName, handler);
- }
- }, {
- key: 'bindEvent',
- value: function bindEvent() {
- var _this = this;
- this.timeId = setTimeout(function () {
- $('#jae_userscript_box').remove();
- }, this.showTime * 1000);
- this.addEventListener('max', function () {
- _this.setSize(860, 492);
- $('.jae-userscript').addClass('jae-userscript-shadow');
- clearTimeout(_this.timeId);
- });
- this.addEventListener('min', function () {
- setTimeout(function () {
- $('.jae-userscript').removeClass('jae-userscript-shadow');
- _this.setSize(370, 56);
- }, 500);
- });
- this.addEventListener('close', function () {
- sessionStorage.setItem(_this.quietKey, 1);
- $('#jae_userscript_box').remove();
- });
- this.addEventListener('loading', function () {
- clearTimeout(_this.timeId);
- });
- }
- }, {
- key: 'execFrameJs',
- value: function execFrameJs(frameWindow) {
- var uiJs = GM_getResourceText('uiJs');
- return function (jsStr) {
- frameWindow.eval(jsStr);
- }.call(frameWindow, uiJs);
- }
- }, {
- key: 'render',
- value: function render() {
- if (!this.isQuiet) {
- var count = this.getCountData(this.host);
- if (count) {
- $('body').append(this.tplBox);
- var ui = GM_getResourceText('ui');
- var dom = document.getElementsByClassName('jae-userscript')[0];
- var tpl = '<iframe name="jaeFetchUserJSFrame" src="about:blank" style="width:100%;height:100%;border:0px;display: block!important;" allowTransparency="true"></iframe>';
- dom.innerHTML = tpl;
- var iframeDom = dom.children[0];
- iframe.write(iframeDom, ui);
- this.execFrameJs(jaeFetchUserJSFrame.window);
- this.bindEvent();
- }
- }
- }
- }, {
- key: 'isQuiet',
- get: function get() {
- var quiet = sessionStorage.getItem(this.quietKey);
- return quiet ? true : false;
- }
- }]);
- return FetchUserjs;
- }();
- ljs.exec(['jQuery', 'iframe', 'psl'], function () {
- var fu = new FetchUserjs();
- fu.render();
- });
- })();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement