example

test

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

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

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

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

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

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

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

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

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

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

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

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

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

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

// ==UserScript==
// @name        example
// @description test
// @namespace   http://mfish.twbbs.org/
// @include     http://jsbin.com/*
// @version     1.1
// @grant       GM_registerMenuCommand
// ==/UserScript==

var search = location.search
var enabled = false;
var params

function isEnabled () {
  if (search.slice(0,1) != "?") {return false;}
  var temp = search.slice(1);
  temp = temp.split("&")
  
  return temp.indexOf("pluginEnabled") >= 0
}

function rewriteLink () {
  var links = document.querySelectorAll('a');
  var newlink, temp;
  for (var i = 0; i < links.length; i++) {
    var link = links[i];
    //alert(link.href);
    temp = /(https?:\/\/[^\?#]+)(\?[^#]*)?(#.*)?/.exec(link.href.toString());
    if (temp) {
      //alert(JSON.stringify(temp));
      newlink = temp[1];
      if (!temp[2]) {
        newlink += "?pluginEnabled";
      } else {
        newlink += temp[2] + "&pluginEnabled";
      }
      if (temp[3]) {
        newlink += temp[3];
      }
      link.href = newlink
    }
  }
}

function enable () {
  alert('enabled');
  rewriteLink();
}

if (isEnabled()) {
  enable()
}

GM_registerMenuCommand("Enable", enable);