获取当当、#东、豆瓣图书基本信息,自动复制图书书名、作者、出版社、价格等基本信息到剪贴板;默认页面打开1.5秒后显示“书目信息按钮”
// ==UserScript== // @name 获取图书基本信息 // @namespace https://greasyfork.org/zh-CN/users/301997-qiu6406 // @version 0.1.5 // @description 获取当当、#东、豆瓣图书基本信息,自动复制图书书名、作者、出版社、价格等基本信息到剪贴板;默认页面打开1.5秒后显示“书目信息按钮” // @author [email protected] // @match http://*.dangdang.com/* // @match https://*.dangdang.com/* // @match https://*.jd.com/* // @match https://book.douban.com/* // @grant MIT // ==/UserScript== (function() { 'use strict'; // Your code here... function copyBookInfo(content,message){ var aux = document.createElement("input"); aux.setAttribute("value", content); document.body.appendChild(aux); aux.select(); document.execCommand("copy"); document.body.removeChild(aux); document.getElementById("b-copy").style.backgroundColor = "green"; document.getElementById("b-copy").value = "复制成功"; //alert("书目信息已复制到剪贴板,直接粘贴即可"); } function insertButton(T,content){ var o=document.createElement("input"); o.id = "b-copy"; o.type = "button"; o.value = "复制书目信息"; o.style = "color: #fff; background-color: #5bc0de;border-color: #46b8da; display: inline-block;margin-bottom: 0;font-weight: @btn-font-weight;text-align: center;vertical-align: middle;touch-action: manipulation;cursor: pointer;background-image: none; border: 1px solid transparent;white-space: nowrap;"; o.addEventListener("click",copyBookInfo.bind(this,content)); T.appendChild(o); //o = null; } function getBookInfo(){ var tempStr,title,author,pub,isbn,price,format,wrap; var url = location.href; if(url.indexOf("dangdang.com")>0){ //当当网 title = document.getElementsByTagName("h1")[0].innerText; author = document.getElementById("author").innerText.substring(3); pub = document.getElementsByClassName("t1")[1].innerText.substring(4); tempStr = document.getElementsByClassName("key clearfix").item(0).innerHTML; isbn = tempStr.substring(tempStr.indexOf("国际标准书号ISBN:")+11,tempStr.indexOf("国际标准书号ISBN:")+24); price = document.getElementById("original-price").innerText; format = tempStr.substring(25,28); wrap = tempStr.substring(57,59); Str = title+","+author+","+pub+","+isbn+","+price+","+format+","+wrap; insertButton(document.getElementsByClassName("name_info")[0],Str); //提示框样式1,如需使用注释样式2 //prompt("基本信息",title+","+author+","+pub+","+isbn+","+price); //提示框样式2,如需使用注释样式1 //alert(title+","+author+","+pub+","+isbn+","+price); }; if(url.indexOf("jd.com")>0){ //#东 title = document.getElementsByClassName("sku-name")[0].innerText; author = document.getElementById("p-author").innerText; if(document.getElementById("page_origin_price")==null) {price = document.getElementById("page_hx_price").innerText;} else {price = document.getElementById("page_origin_price").innerText;} pub = document.getElementsByClassName("parameter2")[0].childNodes[1].title; isbn = document.getElementsByClassName("parameter2")[0].childNodes[3].title; format = document.getElementsByClassName("parameter2")[0].childNodes[11].title; wrap = document.getElementsByClassName("parameter2")[0].childNodes[13].title; Str = title+","+author+","+pub+","+isbn+","+price+","+format+","+wrap; insertButton(document.getElementsByClassName("sku-name")[0],Str); //提示框样式1,如需使用注释样式2 //prompt("基本信息",title+","+author+","+pub+","+isbn+","+price); //提示框样式2,如需使用注释样式1 //alert(title+","+author+","+pub+","+isbn+","+price); }; if(url.indexOf("douban.com")>0){ //豆瓣 var info,infoObj,filter,Str; //filter = new RegExp('[\[\]\|\`\(\)]','g'); info = '{'+document.getElementById("info").innerText.replace(new RegExp('\n','gm'),',').replace(new RegExp(',','g'),'","').replace(new RegExp(':','g'),'":"').replace(new RegExp('^'),'"').replace(new RegExp(',"$'),'')+'}'; infoObj = eval("("+info+")"); infoObj.title = document.getElementsByTagName("H1")[0].innerText; Str = infoObj.title+","+infoObj.作者+","+infoObj.出版社+","+infoObj.ISBN+","+infoObj.定价+","+infoObj.装帧; insertButton(document.getElementById("info"),Str); //提示框样式1,如需使用注释样式2 //prompt("基本信息",infoObj.title+","+infoObj.作者+","+infoObj.出版社+","+infoObj.ISBN+","+"¥"+infoObj.定价); //提示框样式2,如需使用注释样式1 //alert(infoObj.title+","+infoObj.作者+","+infoObj.出版社+","+infoObj.ISBN+","+infoObj.定价); }; } /*页面完全加载完成后,弹出提示框,T设置为1;页面加载即执行T设置为0。建议在当当网站设置为0,#东设置为1 var T=1; if(T==1)window.onload = (event) => {getBookInfo();} else getBookInfo();*/ //网页打开后1.5秒执行,可根据实际网速情况调整 setTimeout(getBookInfo,1500); })();