Adds APKPure, APKMirror, APK-DL and Evozi download buttons to Google Play when browsing apps. This script is based on yurenchen's "google play apk downloader".
目前為
// ==UserScript==
// @name Direct download from Google Play
// @namespace StephenP
// @version 1.7.1
// @description Adds APKPure, APKMirror, APK-DL and Evozi download buttons to Google Play when browsing apps. This script is based on yurenchen's "google play apk downloader".
// @author StephenP
// @match https://play.google.com/*
// @match http://play.google.com/*
// @grant none
// ==/UserScript==
var wlButton;
var pageURL;
(function() {
'use strict';
pageURL=location.href;
if(pageURL.includes("details?id=")){
addButtons();
}
setInterval(checkReload, 3000);
})();
function checkReload(){
if(pageURL!=location.href){
//alert(document.getElementById("apkdlbutton"));
while(document.getElementById("apkdlbutton")!==null){//se ci sono ancora i pulsanti
setTimeout(function(){},1000);
}
while(document.getElementsByClassName("buy-button-container")===null){
setTimeout(function(){},1000);
}
//alert(pageURL+" vs. "+location.href);
if(location.href.includes("details?id=")){
addButtons();
}
pageURL=location.href;
wlButton=null;
}
}
function addButtons(){
if(document.getElementsByClassName("buy")[0].firstElementChild.firstElementChild.getElementsByTagName("META")[1].content==0){
var html;
var buttonslist;
var id=location.search.match(/id=(.*)/)[1].split("&", 1);
var apkpureURL='https://m.apkpure.com/genericApp/'+id+'/download';
var evoziURL='https://apps.evozi.com/apk-downloader/?id='+id;
var apkdlURL='http://apkfind.com/store/captcha?app='+id;
var apkmirrorURL='https://www.apkmirror.com/?post_type=app_release&searchtype=apk&s='+id;
var menubutton=document.getElementsByClassName("action-bar-menu-button").length;
wlButton = document.createDocumentFragment();
wlButton.appendChild(document.getElementsByClassName("id-wishlist-display")[0]);
if(menubutton!==0){ //menubutton==0 means there is no sliding menu, an element only occurring in mobile view.
buttonslist = document.getElementsByClassName("details-actions")[0];
html='<span id="apkpurebutton"><a style="background-color: #24cd77" class="medium play-button download-apk-button apps ">APKPure</a></span><span id="apkdlbutton"><a href="'+apkdlURL+'" style="background-color: #009688" class="medium play-button download-apk-button apps ">APK-DL</a></span><span><a href="'+evoziURL+'" style="background-color: #286090" class="medium play-button download-apk-button apps ">Evozi</a></span><span><a href="'+apkmirrorURL+'" style="background-color: #FF8B14" class="medium play-button download-apk-button apps ">APKMirror</a></span>';
}
else{
buttonslist = document.getElementsByClassName("details-actions-right")[0];
html='<span id="apkpurebutton"><p style="background-color: #24cd77" class="large play-button download-apk-button apps ">APKPure</p></span><span id="apkdlbutton"><a href="'+apkdlURL+'" style="background-color: #009688" class="large play-button download-apk-button apps ">APK-DL</a></span><span><a href="'+evoziURL+'" style="background-color: #286090" class="large play-button download-apk-button apps ">Evozi</a></span><span><a href="'+apkmirrorURL+'" style="background-color: #FF8B14" class="large play-button download-apk-button apps ">APKMirror</a></span>';
}
buttonslist.innerHTML=buttonslist.innerHTML+html;
buttonslist.appendChild(wlButton);
var apkpureButton=document.getElementById("apkpurebutton");
apkpureButton.onclick=function(){pureDDL(apkpureURL);};
}
}
function pureDDL(apkpureURL){
try{
document.body.removeChild(document.getElementById('apkpureFrame'));
}
catch(err){
}
finally{
var hiddenFrame=document.createElement("iframe");
hiddenFrame.style.width="0";
hiddenFrame.style.height="0";
hiddenFrame.setAttribute('id', 'apkpureFrame');
hiddenFrame.setAttribute('src', apkpureURL);
hiddenFrame.setAttribute('frameborder', "0");
document.body.appendChild(hiddenFrame);
}
}