New script

7/1/2021, 2:28:57 PM

目前为 2021-07-02 提交的版本。查看 最新版本

// ==UserScript==
// @name        New script
// @namespace   Violentmonkey Scripts
// @match       https://ghpym.com/*
// @grant       none
// @version     1.0
// @author      -
// @description 7/1/2021, 2:28:57 PM
// ==/UserScript==


var anchors = document.querySelectorAll("div#wpcom-lastest-news-2  a");//用CSS选择器获取目标链接

var linkbak ="";
for (i = 0; i < anchors.length; i++) { 
    linkbak += "<a href=" +anchors[i] + ">" + i + "</a>"+"<br>";//+=两个符号不能分开,+= 赋值运算符也可用于相加(级联)字符串:
 }//把原链接重构一下,变相的深拷贝,后续直接写入html不会出现object NodeList


var divbak=document.createElement("div");//创建一个DIV用来储存链接
divbak.setAttribute( "Id","baklink");//定ID
//document.getElementById("wrapper").appendChild(btn);
document.body.appendChild(divbak);//div加到页面最后
divbak.style.cssText = "position:fixed;top:500px;left:0px;     display:none;       ";//改DIV的位置,然后隐藏一下     display:none;



for (var i = 0; i < anchors.length; i++) {
    anchors[i].href = anchors[i].href.replace("/w/","/wallpapers/original/").slice(0,-1) + ".jpg";   //【这里的规则需要按网站修改】
    anchors[i].target = "_blank";
}//.replace替换.slice修剪,最后加一个后缀,新标签页打开          //这里开始修改目标链接

var linkbakQ ="";
for (i = 0; i < anchors.length; i++) { 
    linkbakQ += "<a href=" +anchors[i] + ">" + [i+anchors.length] + "</a>"+"<br>";   //[i+anchors.length]必须用中括号,要不当成字符串相加了
 }//把原链接重构一下,变相的深拷贝,后续直接写入html不会出现object NodeList

divbak.innerHTML = linkbak + linkbakQ;//把链接写到新建的DIV中   !!这里的位置是在修改原链接之后,也没事,证明之前重构成功了

var backedlink = document.querySelectorAll("div#baklink a");//获取储存的链接,  !!!注意必须得重新获取,直接用会是undefine

function reslink(){
  for (var i = 0; i < anchors.length; i++) {
 anchors[i].href = backedlink[i].href;   //
  }
};         //定义恢复链接的函数


function writelink(){
  for (var i = 0; i < anchors.length; i++) {
 anchors[i].href = backedlink[i+anchors.length].href;   //
  }
};         //定义重写链接的函数


var btnre=document.createElement("button");//创建一个按钮
btnre.setAttribute( "Id","btnre");//定义按钮ID
document.body.appendChild(btnre);//把按钮加到页面
btnre.style.cssText = "position:fixed;top:500px;left:20px;";//改变按钮位置
btnre.innerHTML = "恢复";//按钮文本
btnre.onclick = reslink;//给按钮加函数
//btn.setAttribute("onclick",xx);//不知道为啥这么写不行
//document.getElementById("wrapper").appendChild(btn);


var btnwr=document.createElement("button");//创建一个按钮
btnwr.setAttribute( "Id","btnwr");//定义按钮ID
document.body.appendChild(btnwr);//把按钮加到页面
btnwr.style.cssText = "position:fixed;top:540px;left:20px;";//改变按钮位置
btnwr.innerHTML = "重写";//按钮文本
btnwr.onclick = writelink;//给按钮加函数