主要是方便自己使用,避免每次看到喜欢的壁纸后右键审查元素双击,框选,然后复制,再粘贴打开右键。现在改为点击按钮字节下载图片,支持切换图片下载(代码写得渣)
// ==UserScript== // @name Bing壁纸下载(修改版) // @namespace http://www.baidu.com/p/%E6%B1%82%E7%9F%A5%E8%80%85wzx // @namespace http://weibo.com/willxiangwb // @namespace http://www.mewchen.com // @version 0.7.0 // @description 主要是方便自己使用,避免每次看到喜欢的壁纸后右键审查元素双击,框选,然后复制,再粘贴打开右键。现在改为点击按钮字节下载图片,支持切换图片下载(代码写得渣) // @description 1.修改中文版下载按钮规则;2.修改换图片下载的是同一图片的bug,3.修复bing更新导致的问题4.修复上一张图片下载日期问题 // @description 5.目前仅支持##版 6.第一次打开页面不显示下载按钮,需要刷新一下 // @description 6.v0.6.7因为bing背景图片默认变成了1920x1200了,但是这个尺寸的图片代水印,所以把默认图片尺寸改回1920x1080尺寸 // @description v0.6.8 增加1920x1200分辨率下载,因为1920x1200分辨率的视野更大,但是有水印 // @description v0.6.9 更改文件命名,增加图片Title,示例:[2022-08-26]OHR.PeljesacWind_ZH-CN9299214248_UHD-[既有风,又有水]-[克罗地亚佩列沙茨半岛附近的风筝冲浪者和风帆冲浪者© helivideo/Getty Images].jpg // @description v0.7.0 修改下载按钮显示样式,使界面风格更统一;替换旧的图标,减小脚本大小;优化文件命名格式和下载按钮提示文字; // @author bluesky // @author willxiang // @author mewchenm // @include *://www.bing.com/* // @include *://cn.bing.com/* // @include *://global.bing.com/* // @grant none // @require http://libs.baidu.com/jquery/1.11.1/jquery.min.js // ==/UserScript== //计算当前日期 var nowDate = new Date().getTime(); var calcNum = 0; $("#leftNav").on("click",function(){ if(calcNum < 7){ calcNum = calcNum + 1; nowDate = nowDate - 1000 * 60 * 60 * 24; console.log(new Date(nowDate)); } }); $("#rightNav").on("click",function(){ if(calcNum > 0){ calcNum = calcNum - 1; nowDate = nowDate + 1000 * 60 * 60 * 24; console.log(new Date(nowDate)); } }); //计算当前日期结束 var currentUrl = window.location.href; if (currentUrl.indexOf("global") != -1) { var oldA = $("#DownloadHPImage"); var newA = document.createElement("a"); newA.title = "Download today's image without watermark"; newA.id = "newDownloadHPImage"; newA.style.cursor = "pointer"; var newDiv = document.createElement("div"); newDiv.innerHTML = "Download today's image without watermark"; newA.appendChild(newDiv); oldA.after(newA); var url = "please wait a moment"; var imgDiv = $("#bgDiv"); function getUrl() { url = imgDiv.css('backgroundImage'); if (url != "none") { //clearInterval(timer); } else { getUrl(); } } $("#newDownloadHPImage").click(function() { if (url == "Please wait a moment...") { alert(url); } else { url = url.replace('url(', '').replace(')', ''); url = url.substr(url.indexOf('"') + 1,url.lastIndexOf('"') - url.indexOf('"')-1);//New,For removing the domain at the beginning of the url and quotes at the url //window.location.href = url;//Open in current window/tab window.open(url);//Open in a new window/tab } }); var timer = setInterval(getUrl, 500); } else { //图标文件 var iconElement = '<svg class="downloadIcon" x="0px" y="0px" viewBox="0 0 22 22" enable-background="new 0 0 22 22" aria-hidden="true" role="presentation" style="width: 22px; margin-inline: 16px; position: initial;"><path d="M17.842 11.483l-6.671 6.725-6.671-6.725.967-.967 5.017 5.049v-15.565h1.375v15.565l5.017-5.049.966.967zm-12.859 10.517v-1.375h12.375v1.375h-12.375z"></path></svg>'; //由于IP不同时同一个地址的页面显示不同,所以暂时根据元素是否存在来判断 //国际版下载 var isIntentionVersionPage = $("#est_en").attr("class"); if (isIntentionVersionPage == "est_selected") { var url = "正在获取图片地址……请稍等……"; var imgDiv = $("#bgDiv"); // var imgProgLoad = $("#bgImgProgLoad"); function getUrl() { url = imgDiv.css('backgroundImage'); // url = imgProgLoad.attr("data-ultra-definition-src"); // if(url==null||url==""){ // url = imgDiv.css('backgroundImage'); // } if (url != "none"&&url!=null&&url!="") { //clearInterval(timer); //生成下载按钮 var DownloadUrl = url; DownloadUrl = DownloadUrl.replace('url(', '').replace(')', ''); // DownloadUrl = DownloadUrl.substr(DownloadUrl.indexOf('"') + 1,DownloadUrl.lastIndexOf('"') - DownloadUrl.indexOf('"')-1); DownloadUrl = DownloadUrl.replace(/\"/g,"").replace("1920x1080","UHD"); var sh_igw = $("#sh_cp"); var title = $("#musCardImageTitle"); var author = $("#musCardCopyright"); var newA = document.createElement("a"); newA.title = "点击下载壁纸"; //<a href="http://somehost/somefile.zip" download="myfile.zip">Download file</a> newA.href = DownloadUrl; //change start by 0.6.6 var date = new Date(nowDate); var strDate = "["+date.getFullYear()+"-"+((date.getMonth()+1)<10?("0"+(date.getMonth()+1)):(date.getMonth()+1))+"-"+((date.getDate())<10?("0"+(date.getDate())):(date.getDate()))+"]"; var cutStart = DownloadUrl.indexOf('=')+1; var cutLenth = DownloadUrl.indexOf('&')-cutStart; var downName = strDate+DownloadUrl.substr(cutStart,cutLenth); var preName = downName.substr(0,downName.lastIndexOf('.')); var sufName = downName.substr(downName.lastIndexOf('.')); newA.download = preName+"-["+title.text().replace('/','/')+"("+author.text().replace('/','/')+")]"+sufName; //change end by 0.6.6 //newA.innerHTML = "<div class='sc_light_1'><div id='downloadPic' " + style + "></div></div>"; newA.innerHTML = iconElement; sh_igw.after(newA); //添加高清壁纸下载按钮 var newB = document.createElement("a"); newB.title = "点击下载高清壁纸"; newB.href = newA.href.replace("1920x1080","UHD"); newB.download = newA.download.replace("1920x1080","UHD"); //newB.innerHTML = "<div class='sc_light'><div id='downloadUhdPic' " + style + "></div></div>"; newB.innerHTML = iconElement; sh_igw.after(newB); var downloadPic = $("#downloadPic"); downloadPic.mouseenter(function() { downloadPic.css("margin", "0px 10px"); downloadPic.css("background-position-x", "-252px"); }); downloadPic.mouseout(function() { downloadPic.css("margin", "0px 10px"); downloadPic.css("background-position-x", "0px"); }); isIntentionVersionPage = "none"; //结束计时器 clearInterval(timer); //持续检测 function reGetUrl() { var imgDiv = $("#bgDiv"); url = imgDiv.css('backgroundImage'); // var imgProgLoad = $("#bgImgProgLoad"); // url = imgProgLoad.attr("data-ultra-definition-src"); // if(url==null||url==""){ // url = imgDiv.css('backgroundImage'); // } DownloadUrl = url; DownloadUrl = DownloadUrl.replace('url(', '').replace(')', ''); //DownloadUrl = DownloadUrl.substr(DownloadUrl.indexOf('"') + 1,DownloadUrl.lastIndexOf('"') - DownloadUrl.indexOf('"')-1); DownloadUrl = DownloadUrl.replace(/\"/g,""); var downloadPic = $("#downloadPic"); var downloadUhdPic = $("#downloadUhdPic"); var dwButton = downloadPic.parents("a"); var dwUhdButton = downloadUhdPic.parents("a"); if(dwButton.attr("href") != DownloadUrl || title.text()!="") { //change by v0.6.6 dwButton.attr("href",DownloadUrl); dwUhdButton.attr("href",DownloadUrl.replace("1920x1080","UHD")); //change start by 0.6.6 var cutStart = DownloadUrl.indexOf('=')+1; var cutLenth = DownloadUrl.indexOf('&')-cutStart; var date = new Date(nowDate); var strDate = "["+date.getFullYear()+"-"+((date.getMonth()+1)<10?("0"+(date.getMonth()+1)):(date.getMonth()+1))+"-"+((date.getDate())<10?("0"+(date.getDate())):(date.getDate()))+"]"; var downName = strDate+DownloadUrl.substr(cutStart,cutLenth); var preName = downName.substr(0,downName.lastIndexOf('.')); var sufName = downName.substr(downName.lastIndexOf('.')); dwButton.attr("download",preName+"-["+title.text().replace('/','/')+"("+author.text().replace('/','/')+")]"+sufName); dwUhdButton.attr("download",dwButton.attr("download").replace("1920x1080","UHD")); //change end by 0.6.6 } } var reGetTimer = setInterval(reGetUrl, 500); } else { getUrl(); } } $("#downloadPic").click(function() { if (url == "正在获取图片地址……请稍等……") { alert(url); } else { url = url.replace('url(', '').replace(')', ''); url = url.substr(url.indexOf('"') + 1,url.lastIndexOf('"') - url.indexOf('"')-1);//New,For removing the domain at the beginning of the url and quotes at the url //window.location.href = url;//Open in current window/tab window.open(url);//Open in a new window/tab } }); var timer = setInterval(getUrl, 500); } else { //国内版下载 //var isChineseVersionPage = document.getElementById("sh_igw"); var isChineseVersionPage = $("#est_cn").attr("class"); if (isChineseVersionPage.indexOf("est_selected") > -1) { var url = "正在获取图片地址……请稍等……"; var imgDiv = $(".downloadLink")[0]; // var imgProgLoad = $("#bgImgProgLoad"); function getUrl() { url = imgDiv.href; // url = imgProgLoad.attr("data-ultra-definition-src"); // if(url==null||url==""){ // url = imgDiv.css('backgroundImage'); // } if (url != "none"&&url!=null&&url!="") { //clearInterval(timer); //生成下载按钮 var DownloadUrl = url; //DownloadUrl = DownloadUrl.replace('url(', '').replace(')', ''); //DownloadUrl = DownloadUrl.substr(DownloadUrl.indexOf('"') + 1,DownloadUrl.lastIndexOf('"') - DownloadUrl.indexOf('"')-1); //DownloadUrl = DownloadUrl.replace(/\"/g,""); var sh_igw = $(".nav")[0]; var picInfo = $(".musCardCont .title")[0].innerText; var picCopyright = $("#copyright")[0].innerText.replace('/','/'); var picTitle = $("#headline")[0].innerText; var newA = document.createElement("a"); newA.title = "1920x1200壁纸(有水印)"; //<a href="http://somehost/somefile.zip" download="myfile.zip">Download file</a> newA.href = DownloadUrl; //change start by 0.6.6 var date = new Date(nowDate); var strDate = "["+date.getFullYear()+"-"+((date.getMonth()+1)<10?("0"+(date.getMonth()+1)):(date.getMonth()+1))+"-"+((date.getDate())<10?("0"+(date.getDate())):(date.getDate()))+"]"; var cutStart = DownloadUrl.indexOf('=')+1; var cutLenth = DownloadUrl.indexOf('&')-cutStart; var downName = strDate+DownloadUrl.substr(cutStart,cutLenth); var preName = downName.substr(0,downName.lastIndexOf('.')); var sufName = downName.substr(downName.lastIndexOf('.')); newA.download = preName+"-["+picTitle+"]-["+picInfo+" ("+picCopyright+")]"+sufName; //newA.className = "musCardCont"; //newA.style.position="initial"; //newA.style.width = "32px"; //newA.style.padding = "0px"; //change end by 0.6.6 //newA.innerHTML = "<div class='sc_light'><div id='downloadPic' " + style + "></div></div>"; newA.innerHTML = '<div class="sc_light" style="width: 32px;" id="downloadPic">'+iconElement+'</div>'; sh_igw.after(newA); //添加1080P(1920x1080)壁纸下载按钮 var newB = document.createElement("a"); newB.title = "1080P壁纸"; newB.href = newA.href.replace("1920x1200","1920x1080"); newB.download = newA.download.replace("1920x1200","1920x1080"); //newB.innerHTML = "<div class='sc_light'><div id='downloadPic1080' " + style + "></div></div>"; newB.innerHTML = '<div class="sc_light" style="width: 32px;" id="downloadPic1080">'+iconElement+'</div>'; //newB.className = "musCardCont"; //newB.style.position="initial"; //newB.style.width = "32px"; //newB.style.padding = "0px"; sh_igw.after(newB); //添加高清壁纸下载按钮 var newC = document.createElement("a"); newC.title = "高清壁纸"; newC.href = newA.href.replace("1920x1200","UHD"); newC.download = newA.download.replace("1920x1200","UHD"); //newC.innerHTML = "<div class='sc_light'><div id='downloadUhdPic' " + style + "></div></div>"; newC.innerHTML = '<div class="sc_light" style="width: 32px;" id="downloadUhdPic">'+iconElement+'</div>'; //newC.className = "musCardCont"; //newC.style.position="initial"; //newC.style.width = "32px"; //newC.style.padding = "0px"; sh_igw.after(newC); var downloadPic = $("#downloadPic"); // downloadPic.mouseenter(function() { // downloadPic.css("margin", "0px 0px"); // downloadPic.css("background-position-x", "-252px"); // }); // downloadPic.mouseout(function() { // downloadPic.css("margin", "0px 0px"); // downloadPic.css("background-position-x", "0px"); // }); isChineseVersionPage = "none"; //结束计时器 clearInterval(timer); //持续检测 function reGetUrl() { var imgDiv = $(".downloadLink")[0]; url = imgDiv.href; // var imgProgLoad = $("#bgImgProgLoad"); // url = imgProgLoad.attr("data-ultra-definition-src"); // if(url==null||url==""){ // url = imgDiv.css('backgroundImage'); // } DownloadUrl = url; //DownloadUrl = DownloadUrl.replace('url(', '').replace(')', ''); //DownloadUrl = DownloadUrl.substr(DownloadUrl.indexOf('"') + 1,DownloadUrl.lastIndexOf('"') - DownloadUrl.indexOf('"')-1); //DownloadUrl = DownloadUrl.replace(/\"/g,""); var downloadPic = $("#downloadPic"); var downloadPic1080 = $("#downloadPic1080"); var downloadUhdPic = $("#downloadUhdPic"); var dwButton = downloadPic.parents("a"); var dwButton1080 = downloadPic1080.parents("a"); var dwUhdButton = downloadUhdPic.parents("a"); if(dwButton.attr("href") != DownloadUrl) { dwButton.attr("href",DownloadUrl); dwButton1080.attr("href",DownloadUrl.replace("1920x1200","1920x1080")); dwUhdButton.attr("href",DownloadUrl.replace("1920x1200","UHD")); var date = new Date(nowDate); var strDate = "["+date.getFullYear()+"-"+((date.getMonth()+1)<10?("0"+(date.getMonth()+1)):(date.getMonth()+1))+"-"+((date.getDate())<10?("0"+(date.getDate())):(date.getDate()))+"]"; //change start by 0.6.6 if(DownloadUrl.indexOf('=')<0){ // DownloadUrl = $("#bgImgProgLoad").attr("data-ultra-definition-src"); // dwButton.attr("href",DownloadUrl); dwButton.attr("href",DownloadUrl); dwButton1080.attr("href",DownloadUrl.replace("1920x1200","1920x1080")); dwUhdButton.attr("href",DownloadUrl.replace("1920x1200","UHD")); cutStart = DownloadUrl.lastIndexOf('/')+1; var downName = strDate+DownloadUrl.substr(cutStart); var preName = downName.substr(0,downName.lastIndexOf('.')); var sufName = downName.substr(downName.lastIndexOf('.')); var picInfo = $(".musCardCont .title")[0].innerText; var picCopyright = $("#copyright")[0].innerText.replace('/','/'); var picTitle = $("#headline")[0].innerText; dwButton.attr("download",preName+"-["+picTitle+"]-["+picInfo+" ("+picCopyright+")]"+sufName); dwButton1080.attr("download",dwButton.attr("download").replace("1920x1200","1920x1080")); dwUhdButton.attr("download",dwButton.attr("download").replace("1920x1200","UHD")); }else{ dwButton.attr("href",DownloadUrl); dwButton1080.attr("href",DownloadUrl.replace("1920x1200","1920x1080")); dwUhdButton.attr("href",DownloadUrl.replace("1920x1200","UHD")); cutStart = DownloadUrl.indexOf('=')+1; cutLenth = DownloadUrl.indexOf('&')-cutStart; var downName = strDate+DownloadUrl.substr(cutStart,cutLenth); var preName = downName.substr(0,downName.lastIndexOf('.')); var sufName = downName.substr(downName.lastIndexOf('.')); var picInfo = $(".musCardCont .title")[0].innerText; var picCopyright = $("#copyright")[0].innerText.replace('/','/'); var picTitle = $("#headline")[0].innerText; dwButton.attr("download",preName+"-["+picTitle+"]-["+picInfo+" ("+picCopyright+")]"+sufName); dwButton1080.attr("download",dwButton.attr("download").replace("1920x1200","1920x1080")); dwUhdButton.attr("download",dwButton.attr("download").replace("1920x1200","UHD")); } //change end by 0.6.6 } } var reGetTimer = setInterval(reGetUrl, 500); } else { getUrl(); } } $("#downloadPic").click(function() { if (url == "正在获取图片地址……请稍等……") { alert(url); } else { url = url.replace('url(', '').replace(')', ''); url = url.substr(url.indexOf('"') + 1,url.lastIndexOf('"') - url.indexOf('"')-1);//New,For removing the domain at the beginning of the url and quotes at the url //window.location.href = url;//Open in current window/tab window.open(url);//Open in a new window/tab } }); var timer = setInterval(getUrl, 500); } else { var oldA = $("#DownloadHPImage"); var newA = document.createElement("a"); newA.title = "Download today's image without watermark"; newA.style.cursor = "pointer"; newA.id = "newDownloadHPImage"; var newDiv = document.createElement("div"); newDiv.innerHTML = "Download today's image without watermark"; newA.appendChild(newDiv); oldA.after(newA); var url = "please wait a moment"; var imgDiv = $("#bgDiv"); function getUrl() { url = imgDiv.css('backgroundImage'); if (url != "none") { //clearInterval(timer); } else { getUrl(); } } $("#newDownloadHPImage").click(function() { if (url == "Please wait a moment...") { alert(url); } else { url = url.replace('url(', '').replace(')', ''); window.location.href = url; } }); var timer = setInterval(getUrl, 500); } } }