获取图书基本信息

获取当当、京东、豆瓣图书基本信息,自动复制图书书名、作者、出版社、价格等基本信息到剪贴板;默认页面打开1.5秒后显示“书目信息按钮”

您需要先安装一个扩展,例如 篡改猴Greasemonkey暴力猴,之后才能安装此脚本。

You will need to install an extension such as Tampermonkey to install this script.

您需要先安装一个扩展,例如 篡改猴暴力猴,之后才能安装此脚本。

您需要先安装一个扩展,例如 篡改猴Userscripts ,之后才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。

您需要先安装用户脚本管理器扩展后才能安装此脚本。

(我已经安装了用户脚本管理器,让我安装!)

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

(我已经安装了用户样式管理器,让我安装!)

// ==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);
})();