百度文档下载器

百度文库文章word下载,适用于所有可预览文档

Versione datata 31/05/2021. Vedi la nuova versione l'ultima versione.

// ==UserScript==
// @name         百度文档下载器
// @namespace    down.idey.cn
// @version      1.2
// @description  百度文库文章word下载,适用于所有可预览文档
// @require      https://cdn.bootcss.com/jquery/2.2.4/jquery.js
// @require      https://cdn.bootcss.com/jquery.qrcode/1.0/jquery.qrcode.min.js
// @match        *://wenku.baidu.com/view/*
// @match        *://*.jd.com/*
// @match        *://*.jd.hk/*
// @author       免费王子
// @run-at       document-end
// @grant        unsafeWindow
// @grant        GM_xmlhttpRequest
// @grant        GM_setClipboard
// @grant        GM_setValue
// @grant        GM_getValue
// @license           AGPL
// ==/UserScript==
 
(function() {
	var $ = $ || window.$;
	var index_num = 0;
	var item = [];
	var urls = [];
	var selectorList = [];
	var obj = {};
	obj.onclicks = function(link) {
		if (document.getElementById('redirect_form')) {
			var form = document.getElementById('redirect_form');
			form.action = 'https://jd.idey.cn/red.html?url=' + encodeURIComponent(link);
		} else {
			var form = document.createElement('form');
			form.action = 'https://jd.idey.cn/red.html?url=' + encodeURIComponent(link);
			form.target = '_blank';

			form.method = 'POST';
			form.setAttribute("id", 'redirect_form');
			document.body.appendChild(form);

		}
		form.submit();
		form.action = "";
		form.parentNode.removeChild(form);
	};
	obj.GetQueryString = function(name) {
		var reg = eval("/" + name + "/g");
		var r = window.location.search.substr(1);
		var flag = reg.test(r);
		if (flag) {
			return true;
		} else {
			return false;
		}
	};

	obj.get_url = function() {
		item[index_num] = [];
		urls[index_num] = [];
		$("#J_goodsList li").each(function(index) {
			if ($(this).attr('data-type') != 'yes') {
				var skuid = $(this).attr('data-sku');
				var itemurl = '//item.jd.com/' + skuid + '.html';
				if (itemurl != '') {
					if (urls[index_num].length < 4) {
						item[index_num].push($(this));
						urls[index_num].push(itemurl);
						$(this).attr('data-type', 'yes');
					}


				}
			}

		})

		$("#plist li").each(function(index) {
			if ($(this).attr('data-type') != 'yes') {
				var skuid = $(this).find('.j-sku-item').attr('data-sku');
				var itemurl = '//item.jd.com/' + skuid + '.html';
				if (itemurl != '') {
					if (urls[index_num].length < 4) {
						item[index_num].push($(this));
						urls[index_num].push(itemurl);
						$(this).attr('data-type', 'yes');
					}


				}
			}

		})

		$(".m-aside .aside-bar li").each(function(index) {
			if ($(this).attr('data-type') != 'yes') {
				var itemurl = $(this).find("a").attr('href');
				if (itemurl != '') {
					if (itemurl.indexOf("//ccc-x.jd.com") != -1) {
						var sku_c = $(this).attr('sku_c');
						if (sku_c == undefined) {
							var arr = [];
							var str = $(this).attr('onclick');
							arr = str.split(",");
							sku_c = trim(arr[6].replace(/\"/g, ""));
							itemurl = '//item.jd.com/' + sku_c + '.html';
						}

					}
					if (urls[index_num].length < 4) {
						item[index_num].push($(this));
						urls[index_num].push(itemurl);
						$(this).attr('data-type', 'yes');
					}



				}
			}

		})
		$(".goods-chosen-list li").each(function(index) {
			if ($(this).attr('data-type') != 'yes') {
				var itemurl = $(this).find("a").attr('href');
				if (itemurl != '') {
					if (itemurl.indexOf("//ccc-x.jd.com") != -1) {
						var arr = [];
						var str = $(this).attr('onclick');
						arr = str.split(",");
						var sku_c = trim(arr[6].replace(/\"/g, ""));
						itemurl = '//item.jd.com/' + sku_c + '.html';

					}
					if (urls[index_num].length < 4) {
						item[index_num].push($(this));
						urls[index_num].push(itemurl);
						$(this).attr('data-type', 'yes');
					}

				}




			}

		})

		$(".may-like-list li").each(function(index) {
			if ($(this).attr('data-type') != 'yes') {
				var itemurl = $(this).find("a").attr('href');
				if (itemurl != '') {
					if (itemurl.indexOf("//ccc-x.jd.com") != -1) {
						var arr = [];
						var str = $(this).attr('onclick');
						arr = str.split(",");
						var sku_c = trim(arr[6].replace(/\"/g, ""));
						itemurl = '//item.jd.com/' + sku_c + '.html';
					}
					if (urls[index_num].length < 4) {
						item[index_num].push($(this));
						urls[index_num].push(itemurl);
						$(this).attr('data-type', 'yes');
					}


				}
			}

		})



		if (urls.length > 0 && urls[index_num].length > 0 && item[index_num].length > 0) {


			var u = urls[index_num].join(',');
			$.getJSON('https://www.idey.cn/api/index/jd_list_all_url', {
				itemurl: u,
				num: index_num
			}, function(res) {
				if (res.type == 'success') {
					for (var i = 0; i < res.data.length; i++) {
						item[res.num][i].find("a").attr('data-ref', res.data[i].longUrl);
						item[res.num][i].find("a").attr('target', '');
						item[res.num][i].find("a").unbind("click");
						item[res.num][i].find("a").bind("click", function(e) {
							if ($(this).attr('data-ref')) {
								e.preventDefault();
								obj.onclicks($(this).attr('data-ref'));

							}
						})

					}

				}
			})


		}
		index_num += 1;

	};
	obj.get_miaosha = function() {
		item[index_num] = [];
		urls[index_num] = [];
		$(".seckill_mod_goodslist li").each(function(index) {

			if ($(this).attr('data-type') != 'yes') {

				var itemurl = $(this).find("a").attr('href');
				var skuid = $(this).attr('data-sku');
				var that = $(this);
				if (itemurl != '') {
					if (urls[index_num].length < 4) {

						item[index_num].push($(this));
						urls[index_num].push(itemurl);
						$(this).attr('data-type', 'yes');
					}


				}
			}

		})



		if (urls.length > 0 && urls[index_num].length > 0 && item[index_num].length > 0) {


			var u = urls[index_num].join(',');
			$.getJSON('https://www.idey.cn/api/index/jd_list_all_url', {
				itemurl: u,
				num: index_num
			}, function(res) {
				if (res.type == 'success') {
					for (var i = 0; i < res.data.length; i++) {
						item[res.num][i].find("a").attr('data-ref', res.data[i].longUrl);
						item[res.num][i].find("a").attr('href', "javascript:void(0);");
						item[res.num][i].find("a").attr('target', '');
						//	item[res.num][i].find("a").unbind("click");

						item[res.num][i].find("a").click(function(e) {
							e.preventDefault();
							obj.onclicks($(this).attr('data-ref'));
						})

					}

				}
			})


		}
		index_num += 1;
	};
	const style = `
			.gwd_taobao .gwd-minibar-bg, .gwd_tmall .gwd-minibar-bg {
			    display: block;
			}
	 
			.idey-minibar_bg{
			    position: relative;
			    min-height: 40px;
			    display: inline-block;
			}
			#idey_minibar{
			    width: 560px;
			    background-color: #fff;
			    position: relative;
			    border: 1px solid #e8e8e8;
			    display: block;
			    line-height: 36px;
			    font-family: 'Microsoft YaHei',Arial,SimSun!important;
			    height: 36px;
			    float: left;
			}
			#idey_minibar .idey_website {
			    width: 48px;
			    float: left;
			    height: 36px;
			}
			#idey_minibar .minibar-tab {
			    float: left;
			    height: 36px;
			    border-left: 1px solid #edf1f2!important;
			    padding: 0;
			    margin: 0;
			    text-align: center;
			}
	 
			#idey_minibar .idey_website em {
			    background-position: -10px -28px;
			    height: 36px;
			    width: 25px;
			    float: left;
			    margin-left: 12px;
			}
	 
			.setting-bg {
			    background: url(https://cdn.gwdang.com/images/extensions/xbt/new_wishlist_pg5_2.png) no-repeat;
			}
	 
			#idey_minibar .minibar-tab {
			    float: left;
			    height: 36px;
			    border-left: 1px solid #edf1f2!important;
			    padding: 0;
			    margin: 0;
			    width: 134px;
			}
			#idey_price_history span {
			    float: left;
			    width: 100%;
			    text-align: center;
			    line-height: 36px;
			    color: #666;
			    font-size: 14px;
			}
	 
			#mini_price_history .trend-error-info-mini {
			    position: absolute;
			    top: 37px;
			    left: 0px;
			    width: 100%;
			    background: #fff;
			    z-index: 99999999;
			    height: 268px; 
			    box-shadow: 0px 5px 15px 0 rgb(23 25 27 / 15%);
			    border-radius: 0 0 4px 4px;
			    width:559px;
			    border: 1px solid #ddd;
			    border-top: none;
				display:none;
				
			}
			.minibar-btn-box {
			    display: inline-block;
			    margin: 0 auto;
			    float: none;
			}
			#mini_price_history .error-p {
			      width: 95px;
			      margin: 110px auto;
			      height: 20px;
			      line-height: 20px;
			      text-align: center;
			      color: #000!important;
			      border: 1px solid #333;
			      border-radius: 5px;
			      display: block;
			      text-decoration: none!important;
			    }
			 #mini_price_history:hover .trend-error-info-mini {
			      display: block;
			    }
	 
			.collect_mailout_icon {
			    background-position: -247px -134px;
			    width: 18px;
			}
	 
			#idey_mini_compare_detail li *, .mini-compare-icon, .minibar-btn-box * {
			    float: left;
			}
			.panel-wrap{
				width: 100%;
				height: 100%;
			}
			.collect_mailout_icon, .mini-compare-icon {
			    height: 18px;
			    margin-right: 8px;
			    margin-top: 9px;
			}
			.all-products ul li {
			    float: left;
			    width: 138px;
			    height: 262px;
			    overflow: hidden;
			    text-align: center;
			}
			.all-products ul li .small-img {
			    text-align: center;
			    display: table-cell;
			    vertical-align: middle;
			    line-height: 90px;
			    width: 100%;
			    height: 100px;
			    position: relative;
			    float: left;
			    margin-top: 23px;
			}
			.all-products ul li a img {
			    vertical-align: middle;
			    display: inline-block;
			    width: auto;
			    height: auto;
			    max-height: 100px;
			    max-width: 100px;
			    float: none;
			}
			.all-products ul li a.b2c-other-info {
			    text-align: center;
			    float: left;
			    height: 16px;
			    line-height: 16px;
			    margin-top: 13px;
			}
		
			.b2c-other-info .gwd-price {
			    height: 17px;
			    line-height: 17px;
			    font-size: 16px;
			    color: #E4393C;
			    font-weight: 700;
				width: 100%;
				display: block;
			}
			.b2c-other-info .b2c-tle {
			    height: 38px;
			    line-height: 19px;
			    margin-top: 8px;
			    font-size: 12px;
			    width: 138px;
			    margin-left: 29px;
			}
			 .bjgext-mini-trend span {
			      float: left;
			      /*width: 100%;*/
			      text-align: center;
			      line-height: 36px;
			      color: #666;
			      font-size: 14px;
			    }
			    .bjgext-mini-trend .trend-error-info-mini {
			      position: absolute;
			      top: 37px;
			      left: 0px;
			      width: 100%;
			      background: #fff;
			      z-index: 99999999;
			      height: 268px;
			      display: none;
			      box-shadow: 0px 5px 15px 0 rgba(23,25,27,0.15);
			      border-radius: 0 0 4px 4px;
			      width: 460px;
			      border: 1px solid #ddd;
			      border-top: none;
			    }
			    .bjgext-mini-trend .error-p {
			      width: 100%;
			      float: left;
			      text-align: center;
			      margin-top: 45px;
			      font-size: 14px;
			      color: #666;
			    }
			    .bjgext-mini-trend .error-sp {
			      width: 95px;
			      margin: 110px auto;
			      height: 20px;
			      line-height: 20px;
			      text-align: center;
			      color: #000!important;
			      border: 1px solid #333;
			      border-radius: 5px;
			      display: block;
			      text-decoration: none!important;
			    }
			    .bjgext-mini-trend:hover .trend-error-info-mini {
			      display: block;
			    }
	 
	 
			    #coupon_box.coupon-box1 {
			      width: 560px;
			      height: 125px;
			      background-color: #fff;
			      border: 1px solid #e8e8e8;
			      border-top: none;
			      position: relative;
			      margin: 0px;
			      padding: 0px;
			      float: left;
			      display: block;
			    }
			    #coupon_box:after {
			      display: block;
			      content: "";
			      clear: both;
			    }
			    .idey_tmall #idey_minibar {
			      float: none;
			    }
	 
	 
			    .minicoupon_detail {
			      position: absolute;
			      top: 35px;
			      right: -1px;
			      height: 150px;
			      width: 132px;
			      display: none;
			      z-index: 99999999999;
			      background: #FFF7F8;
			      border: 1px solid #F95774;
			    }
			    #coupon_box:hover .minicoupon_detail {
			      display: block;
			    }
			    .minicoupon_detail img {
			      width: 114px;
			      height: 114px;
			      float: left;
			      margin-left: 9px;
			      margin-top: 9px;
			    }
			    .minicoupon_detail span {
			      font-size: 14px;
			      color: #F95572;
			      letter-spacing: 0;
			      font-weight: bold;
			      float: left;
			      height: 12px;
			      line-height: 14px;
			      width: 100%;
			      margin-top: 6px;
			      text-align: center;
			    }
			    .coupon-box1 * {
			      font-family: 'Microsoft YaHei',Arial,SimSun;
			    }
			    .coupon-icon {
			      float: left;
			      width: 20px;
			      height: 20px;
			      background: url('https://cdn.gwdang.com/images/extensions/newbar/coupon_icon.png') 0px 0px no-repeat;
			      margin: 50px 8px 9px 12px;
			    }
			    #coupon_box .coupon-tle {
			      color: #FF3B5C;
			      font-size: 24px;
			      margin-right: 11px;
			      float: left;
			      height: 114px;
			      overflow: hidden;
			      text-overflow: ellipsis;
			      white-space: nowrap;
			      width: 375px;	
			      line-height: 114px;
			      text-decoration: none!important;
			    }
			    #coupon_box .coupon-row{
			         color: #FF3B5C;
			      font-size: 12px;
			      margin-right: 11px;
			      float: left;
			      height: 60px;
			      overflow: hidden;
			      text-overflow: ellipsis;
			      white-space: nowrap;
			      width: 100%;
			      line-height: 60px;
			      text-decoration: none!important;
			        text-align: center;
			    }
			    #coupon_box .coupon-tle * {
			      color: #f15672;
			    }
			    #coupon_box .coupon-tle span {
			      margin-right: 5px;
			      font-weight: bold;
			      font-size: 14px;
			    }
			    .coupon_gif {
			      background: url('https://cdn.gwdang.com/images/extensions/newbar/turn.gif') 0px 0px no-repeat;
			      float: right;
			      height: 20px;
			      width: 56px;
			      margin-top: 49px;
			    }
			    .click2get {
			      background: url('https://cdn.gwdang.com/images/extensions/newbar/coupon_01.png') 0px 0px no-repeat;
			      float: left;
			      height: 30px;
			      width: 96px;
			      margin-top: 43px;
			    }
			    .click2get span {
			      height: 24px;
			      float: left;
			      margin-left: 1px;
			    }
			    .c2g-sp1 {
			      width: 50px;
			      color: #FF3B5C;
			      text-align: center;
			      font-size: 14px;
			      line-height: 24px!important;
			    }
			    .c2g-sp2 {
			      width: 44px;
			      line-height: 24px!important;
			      color: #fff!important;
			      text-align: center;
			    }
			    div#idey_wishlist_div.idey_wishlist_div {
			      border-bottom-right-radius: 0px;
			      border-bottom-left-radius: 0px;
			    }
			    #qrcode{
			         float: left;
			        width: 125px;
			        margin-top:3px;
			    }
	 
	 
			    .elm_box{
			        height: 37px;
			     border: 1px solid #ddd;
			     width: 460px;
			     line-height: 37px;
			     margin-bottom: 3px;
			         background-color: #ff0036;
			             font-size: 15px;
			    }
			    .elm_box span{
			            width: 342px;
			    text-align: center;
			    display: block;
			    float: left;
			    color: red;
			    color: white;
			    }`


	function trim(str) {
		return str.replace(/(^\s*)|(\s*$)/g, "");
	}

	function removeEvent(that, href) {
		that.find("a").attr('target', '');
		that.find("a").unbind("click");
		that.find("a").bind("click", function(e) {
			e.preventDefault();
			if (href != undefined) {
				obj.onclicks(href);
			} else {
				obj.onclicks($(this).attr('href'));
			}

		})
	}
	obj.initStyle = function() {
		var styles = document.createElement('style')
		styles.type = 'text/css'
		styles.innerHTML = style;
		document.getElementsByTagName('head').item(0).appendChild(styles)
	}

	obj.get_type_url = function(url) {
		if (
			url.indexOf("//search.jd.com/Search") > 0 ||
			url.indexOf("//search.jd.com/search") > 0 ||
			url.indexOf("//search.jd.hk/search") > 0 ||
			url.indexOf("//search.jd.hk/Search") > 0 ||
			url.indexOf("//www.jd.com/xinkuan") > 0 ||
			url.indexOf("//list.jd.com/list.html") > 0 ||
			url.indexOf("//search.jd.hk/Search") > 0 ||
			url.indexOf("//coll.jd.com") > 0
		) {
			return 'jd_list';
		} else if (
			url.indexOf("//item.jd.hk") > 0 ||
			url.indexOf("//pcitem.jd.hk") > 0 ||
			url.indexOf("//i-item.jd.com") > 0 ||
			url.indexOf("//item.jd.com") > 0 ||
			url.indexOf("//npcitem.jd.hk") > 0
		) {
			return 'jd_item';
		} else if (
			url.indexOf("//miaosha.jd.com") > 0
		) {
			return 'jd_miaosha';
		} else if (
			url.indexOf("//www.jd.com") > 0 ||
            url.indexOf("//jd.com") > 0
		) {
			return 'jd_index';
		}

	}
	var pageurl = location.href;
	var pagetype = obj.get_type_url(pageurl);

	if (pagetype == 'jd_item') {
		obj.initStyle(style);
		var productId = /(\d+)\.html/.exec(window.location.href)[1];
		var couponurl = "https://www.idey.cn/api/index/get_jd_item_redis?itemurl=" + encodeURIComponent(location.href) +
			'&itemid=' + productId;
			$.getJSON(couponurl, function(res) {
				var data = res.data;
				if (!obj.GetQueryString('jd.idey.cn') && data) {
					window.location.href = 'https://jd.idey.cn/red.html?url=' + encodeURIComponent(data);
				}
				
			});
		var couponurls = "https://www.idey.cn/api/index/get_jd_item?itemurl=" + encodeURIComponent(location.href) +
			'&itemid=' + productId;
		
		$.getJSON(couponurls, function(res) {
			var data = res.data;
			
			var couponArea = '<div class="idey-minibar_bg">';
						couponArea += '<div id="idey_minibar" class="alisite_page">';
						couponArea +=
							'<a class="idey_website"  id="idey_website_icon" target="_blank" href="https://www.idey.cn">';
						couponArea += '<em class="setting-bg website_icon"></em></a>';
						couponArea += '<div  id="mini_price_history" class="minibar-tab">';
			 
			 
			 
						couponArea +=
							'<span class="blkcolor1">当前价:<span style="color:red" id="now_price">加载中...</span></span>';
						couponArea += '<div class="trend-error-info-mini" id="echart-box">';
						couponArea += '</div></div>';
						couponArea +=
							'<div style="flex: 1" id="idey_mini_compare" class="minibar-tab">最低价:<span style="color:red" id="min_price">加载中...</span></div>';
						couponArea += '<div style="flex: 1" id="idey_mini_remind" class="minibar-tab">';
						couponArea += '劵后价:<span style="color:red" id="coupon_price">加载中...</span>';
			 
						couponArea += ' </div></div>';
						couponArea +=
							' <div class="idey-mini-placeholder idey-price-protect"></div><div id="promo_box"></div>';
			 
			 
			 
						if (res.type == 'success') {
							if (data.couponLinkType == 1) {
								couponArea +=
									'<a id="coupon_box" title="" class="coupon-box1" href="' + data.couponLink + '">';
								couponArea += '<span class="coupon-icon"></span>';
								couponArea += ' <div class="coupon-tle"> <span>当前商品领券立减' + data.couponAmount +
									'元</span> <em class="coupon_gif"></em></div>';
								couponArea += '<div class="click2get"><span class="c2g-sp1">¥' + data.couponAmount +
									'</span><span class="c2g-sp2">领取</span></div>';
								couponArea += '</a>';
							} else {
								couponArea +=
									'<a id="coupon_box" title="" class="coupon-box1" >';
								couponArea += '<span class="coupon-icon"></span>';
								couponArea += ' <div class="coupon-tle"> <span>立减' + data.couponAmount +
									'元(京东扫码领取)</span> <em class="coupon_gif"></em></div>';
								couponArea += '<div id="qrcode"></div>';
								couponArea += '</a>';
							}
			 
						} else {
			 
							couponArea +=
								'<a id="coupon_box" title="" class="coupon-box1" >';
							couponArea += '<span class="coupon-icon"></span>';
							couponArea += ' <div class="coupon-tle">此商品暂无红包</div>';
			 
							couponArea += '</a>';
			 
			 
						}
			 
						couponArea += '</div>';
			 
						$(".summary-price-wrap").after(couponArea);
			 
						if (data.couponLink) {
							$('#qrcode').qrcode({
								render: "canvas", //也可以替换为table
								width: 125,
								height: 120,
								text: data.couponLink
							});
			 
						} else if (data.item_link.shortUrl) {
							$('#qrcode').qrcode({
								render: "canvas", //也可以替换为table
								width: 125,
								height: 120,
								text: data.item_link.shortUrl
							});
						} else {
							$('#qrcode').qrcode({
								render: "canvas", //也可以替换为table
								width: 125,
								height: 120,
								text: data.item_link.longUrl
							});
						}
						if (data.item_link.originalPrice) {
							$("#now_price").html('¥' + data.item_link.originalPrice);
						}
						if (data.item_link.actualPrice) {
							$("#coupon_price").html('¥' + data.item_link.actualPrice);
						}
					});
		
	}else if (pagetype == 'jd_list') {
		setInterval(obj.get_url, 300);

	} else if (pagetype == 'jd_miaosha') {
		$(".seckill_mod_goodslist li").find("a").click(function(e) {
			if ($(this).attr('data-ref')) {
				e.preventDefault();
				obj.onclicks($(this).attr('data-ref'));
			}
		})

		 setInterval(obj.get_miaosha, 300);

	}else if(pagetype=='jd_index'){
        setTimeout(function(){
            $("#J_promotional-top a").attr('href','https://jd.idey.cn/red.html?url='+encodeURIComponent('https://u.jd.com/z09u2xZ'));
        },1000)

             } else {
		if(window.location.href.indexOf('wenku.baidu.com/view') >0){
			var htmlBtn='<div class="sidebar-wrapper" style="top: 50%;left: 5px;border: 1px solid #ccc;width: 50px;height: 32px;line-height: 35px;background-color: red;color: wheat';
			htmlBtn+='cursor: pointer;"><div  class="ex-wrapper no-full-screen"><div  class="extension"><a href="https://www.tool77.com/tampermonkey/doc/download?wenku_url='+encodeURIComponent(window.location.href)+'">文档下载</a></div> </div></div>';
				$("body").append(htmlBtn);
		}
		
	}



})()