Microsoft Store Direct Download

Adds direct download links to Microsoft Store when browsing apps.

目前為 2021-10-04 提交的版本,檢視 最新版本

// ==UserScript==
// @name     Microsoft Store Direct Download
// @name:it     Download diretto dal Microsoft Store
// @namespace    StephenP
// @version  1.0.3
// @description  Adds direct download links to Microsoft Store when browsing apps.
// @description:it  Aggiunge i link per il download diretto dal Microsoft Store quando si naviga tra le applicazioni.
// @author       StephenP
// @grant    GM.xmlHttpRequest
// @connect	 rg-adguard.net
// @match    https://www.microsoft.com/*-*/p/*
// ==/UserScript==
var dlBtn;
(function(){
  setInterval(checkReload, 1000);
})();
function checkReload(){
  var moreBtn=document.getElementById("buttonPanel_AppIdentityBuyButton");
  if(moreBtn.parentNode.children.length<2){
    dlBtn = moreBtn.cloneNode(true);
    dlBtn.removeAttribute("aria-haspopup");
    dlBtn.removeAttribute("aria-expanded");
    dlBtn.removeAttribute("data-m");
    dlBtn.setAttribute("aria-label","Download from AdGuard Store");
    dlBtn.setAttribute("class","c-button");
    dlBtn.style.background="#00a686";
    dlBtn.style.color="#ffffff";
    dlBtn.style.minWidth="0";
    dlBtn.style.font="initial";
    dlBtn.innerText="\u25bc";
    dlBtn.addEventListener("click",function(){openLink(document.location.href,"url")});
    moreBtn.parentNode.appendChild(dlBtn);
  }
}
function openLink(id,type){
  try{
    var loading=setInterval(rotateCursor,100);
    var link="type="+type+"&url="+id+"&ring=RP&lang=it-IT";
    GM.xmlHttpRequest({
      method: "POST",
      url: "https://store.rg-adguard.net/api/GetFiles",
      data: link,
      headers: {
        "Content-Type": "application/x-www-form-urlencoded"
      },
      onload: function(response) {
        clearInterval(loading);
        dlBtn.innerText="\u25bc";
        try{
          var oldTable=document.getElementById("linkTable");
          oldTable.parentNode.removeChild(oldTable);
          var oldMsg=document.getElementById("messageFromServer");
          oldMsg.parentNode.removeChild(oldMsg);
        }
        catch(err){
          console.log(err);
        }
        output(response,type);
        if(type==="ProductId"){
          output(err,type);
        }
        else{
          let newId=document.querySelector('[name="ms.prod_id"]').getAttribute("content").toLowerCase();
          openLink(newId,"ProductId");
        }
      }
    });
  }
  catch(err){
    console.log(err);
    if(type==="ProductId"){
      output(err,type);
    }
    else{
      let newId=document.querySelector('[name="ms.prod_id"]').getAttribute("content").toLowerCase();
      openLink(newId,"ProductId");
    }
  }

}
function output(response,type){
  var linkTable = document.createElement("div");
  linkTable.innerHTML=response.responseText;
  var justTable=linkTable.getElementsByTagName("TABLE")[0];
  var messageFromServer=linkTable.getElementsByTagName("P")[0];
  messageFromServer.id="messageFromServer";
  messageFromServer.style.fontWeight="bold";
  if(justTable!==undefined){
    justTable.id="linkTable";
    document.getElementsByClassName("pi-content")[0].appendChild(justTable);
    messageFromServer.style.color="green";
    document.getElementById("purchaseColumn").appendChild(messageFromServer);
  }
  else if((justTable===undefined)&&(type==="url")){
    let newId=document.querySelector('[name="ms.prod_id"]').getAttribute("content").toLowerCase();
    openLink(newId,"ProductId");
  }
  else{
    messageFromServer.style.color="red";
    document.getElementById("purchaseColumn").appendChild(messageFromServer);
  }
}
function rotateCursor(){
  if(dlBtn.innerText=="\u25bc"){
    dlBtn.innerText="\u25d0";
  }
  if(dlBtn.innerText=="\u25d0"){
    dlBtn.innerText="\u25d3";
  }
  else if(dlBtn.innerText=="\u25d3"){
    dlBtn.innerText="\u25d1";
  }
  else if(dlBtn.innerText=="\u25d1"){
    dlBtn.innerText="\u25d2";
  }
  else if(dlBtn.innerText=="\u25d2"){
    dlBtn.innerText="\u25d0";
  }
}

 

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址