pub-functions

公共函数库

이 스크립트는 직접 설치하는 용도가 아닙니다. 다른 스크립트에서 메타 지시문 // @require https://update.greasyfork.org/scripts/438730/1011459/pub-functions.js을(를) 사용하여 포함하는 라이브러리입니다.

이 스크립트를 설치하려면 Tampermonkey, Greasemonkey 또는 Violentmonkey와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 Tampermonkey 또는 Violentmonkey와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 Tampermonkey 또는 Violentmonkey와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 Tampermonkey 또는 Userscripts와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 Tampermonkey와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 유저 스크립트 관리자 확장 프로그램이 필요합니다.

(이미 유저 스크립트 관리자가 설치되어 있습니다. 설치를 진행합니다!)

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

(이미 유저 스타일 관리자가 설치되어 있습니다. 설치를 진행합니다!)

// ==UserScript==
// @name         functions
// @namespace    https://hz.cn2down.com
// @version      0.1.1
// @description  公共函数库
// @author       zenghp2015
// @grant        GM_openInTab
// @license MIT
// ==/UserScript==
(function() {
  'use strict';
  const libs = {
    getQuery: function () {
      const url = decodeURI(location.search);
      let query = {};
      if (url.indexOf("?") != -1) {
        const str = url.substr(1);
        const pairs = str.split("&");
        for(let i = 0; i < pairs.length; i ++) {
          const pair = pairs[i].split("=");
          query[pair[0]] = pair[1];
        }
      }
      return query;
    },
    getQueryValue: function (name) {
      const url = decodeURI(location.search); 
      if (url.indexOf("?") != -1) {
        const str = url.substr(1);
        const pairs = str.split("&");
        for(let i = 0; i < pairs.length; i ++) {
          const pair = pairs[i].split("=");
          if(pair[0] === name) return  pair[1];
        }
      }
      return false;
    },
    sleep: function(time) { 
      return new Promise((resolve) => setTimeout(resolve, time));
    },
    openWindow: function(url, callback, opts = {}) {
      return new Promise((resolve) => {
        const newTab = GM_openInTab(url, opts)
        newTab.onclose = function() {
          callback();
          resolve();
        }
      })
    }
  }
  window.$libs = libs
})();