解除各大文库网站不能复制的限制

解除大部分网站不能复制的限制,主要用于 百度文库 道客巴巴 无忧考网 学习啦 蓬勃范文 思否社区 力扣 知乎 语雀以及淘宝京东内部优惠劵查询

Mint 2022.05.29.. Lásd a legutóbbi verzió

// ==UserScript==
// @name        解除各大文库网站不能复制的限制
// @description 解除大部分网站不能复制的限制,主要用于 百度文库 道客巴巴 无忧考网 学习啦 蓬勃范文 思否社区 力扣 知乎 语雀以及淘宝京东内部优惠劵查询
// @namespace   https://jd.idey.cn
// @version     8.8.1
// @notice  授权脚本 https://greasyfork.org/zh-CN/scripts/428087
// @author      idey.cn
// @match      *://item.taobao.com/*
// @match      *://*detail.tmall.com/*
// @match      *://*detail.tmall.hk/*
// @match        *://*.taobao.com/*
// @match        *://*.tmall.com/*
// @match        *://*.tmall.hk/*
// @match      *://*.liangxinyao.com/*
// @match        *://*.taobao.com/*
// @match        *://*.tmall.com/*
// @match        *://*.tmall.hk/*
// @match        *://*.jd.com/*
// @match        *://*.jd.hk/*
// @match    *://*.yiyaojd.com/*
// @match        *://*.liangxinyao.com/*
// @exclude       *://login.taobao.com/*
// @exclude       *://pages.tmall.com/*
// @exclude       *://uland.taobao.com
// @match       *://wenku.baidu.com/view/*
// @match       *://wenku.baidu.com/share/*
// @match       *://wenku.baidu.com/link*
// @match       *://www.51test.net/show/*
// @match       *://www.xuexi.la/*
// @match       *://www.xuexila.com/*
// @match       *://www.cspengbo.com/*
// @match       *://*.doc88.com/*
// @match       *://segmentfault.com/*
// @match       *://wk.baidu.com/view/*
// @match       *://leetcode-cn.com/problems/*
// @match       *://www.zhihu.com/*
// @match       *://z.30edu.com.cn/*
// @match       *://docs.qq.com/doc/*
// @match       *://boke112.com/post/*
// @match       *://www.yuque.com/*
// @match       *://www.commandlinux.com/*
// @match       *://*.diyifanwen.com/*
// @match       *://*.mbalib.com/*
// @match       *://*.cnitpm.com/*
// @match       *://bbs.mihoyo.com/ys/obc/*
// @match       *://*.ruiwen.com/*
// @match       *://www.uemeds.cn/*
// @match       *://www.oh100.com/*
// @match       *://www.aiyuke.com/news/*
// @match       *://www.fwsir.com/*
// @match       *://www.wenxm.cn/*
// @match       *://www.unjs.com/*
// @match       *://www.ahsrst.cn/*
// @match       *://*.yjbys.com/*
// @match       *://*.qidian.com/*
// @match       *://*.zongheng.com/*
// @match       *://*.17k.com/*
// @match       *://*.ciweimao.com/*
// @match       *://book.qq.com/*
// @match       *://*.360doc.com/content/*
// @match       *://*.850500.com/news/*
// @match       *://utaten.com/lyric/*
// @match       *://*.jianbiaoku.com/*
// @match       *://*.kt250.com/*
// @match       *://www.kejudati.com/*
// @match       *://*.xiaohongshu.com/discovery/*
// @match       *://*.baibeike.com/*
// @match       *://*.blog.csdn.net/*
// @match       *://*.bilibili.com/read/*
// @match       *://*.cnki.net/KXReader/*
// @match       *://*.cnrencai.com/*
// @match       *://*.kodiplayer.cn/*
// @supportURL  https://github.com/WindrunnerMax/TKScript/issues
// @license     GPL License
// @run-at      document-start
// @require     https://lf9-cdn-tos.bytecdntp.com/cdn/expire-1-M/jquery/3.6.0/jquery.min.js
// @require     https://lf3-cdn-tos.bytecdntp.com/cdn/expire-1-M/clipboard.js/2.0.10/clipboard.min.js
// @connect     static.doc88.com
// @grant       unsafeWindow
// @grant       GM_xmlhttpRequest
// @original-script https://greasyfork.org/zh-CN/scripts/405130
// @original-author Czy
// @original-license GPL License
// @original-changes 对该脚本添加了优惠劵查询功能
// @antifeature referral-link 隐藏优惠劵查询
// ==/UserScript==

(function () {
  'use strict';
  var index_num=0;
 var item = [];
 	var urls = [];
 	var selectorList = [];
 	var obj={
 		  'cssHtml':"#_copy{width:60px;height:30px;background:#4c98f7;color:#fff;position:absolute;z-index:1000;display:flex;justify-content:center;align-items:center;border-radius:3px;font-size:13px;cursor:pointer}#select-tooltip,#sfModal,.modal-backdrop,div[id^=reader-helper]{display:none!important}.modal-open{overflow:auto!important}._sf_adjust_body{padding-right:0!important}",
 	};
 	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 (skuid != undefined) {
 					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 (skuid != undefined) {
 					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://shop.idey.cn/jd.php', {
 			act:'itemlink',
 				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://shop.idey.cn/jd.php', {
 			act:'itemlink',
 				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.initSearchHtml = function(selectorList) {
 		setInterval(function() {
 			selectorList.forEach(function(selector) {
 				obj.initSearchItemSelector(selector);
 			});
 		}, 3000);
 	};

 	obj.initSearchEvent = function() {
 		$(document).on("click", ".tb-cool-box-area", function() {
 			var $this = $(this);
 			if ($this.hasClass("tb-cool-box-wait")) {
 				obj.basicQueryItem(this);
 			} else if ($this.hasClass("tb-cool-box-info-translucent")) {
 				$this.removeClass("tb-cool-box-info-translucent");
 			} else {
 				$this.addClass("tb-cool-box-info-translucent");
 			}
 		});
 	};

 	obj.basicQuery = function() {
 		setInterval(function() {
 			$(".tb-cool-box-wait").each(function() {
 				obj.basicQueryItem(this);
 			});
 		}, 3000);
 	};

 	obj.initSearchItemSelector = function(selector) {
 		$(selector).each(function() {
 			obj.initSearchItem(this);
 		});
 	};

 	obj.initSearchItem = function(selector) {
 		var $this = $(selector);
 		if ($this.hasClass("tb-cool-box-already")) {
 			return;
 		} else {
 			$this.addClass("tb-cool-box-already")
 		}

 		var nid = $this.attr("data-id");
 		if (!obj.isVailidItemId(nid)) {
 			nid = $this.attr("data-itemid");
 		}

 		if (!obj.isVailidItemId(nid)) {
 			if ($this.attr("href")) {
 				nid = location.protocol + $this.attr("href");
 			} else {
 				var $a = $this.find("a");
 				if (!$a.length) {
 					return;
 				}

 				nid = $a.attr("data-nid");
 				if (!obj.isVailidItemId(nid)) {
 					if ($a.hasClass("j_ReceiveCoupon") && $a.length > 1) {
 						nid = location.protocol + $($a[1]).attr("href");
 					} else {
 						nid = location.protocol + $a.attr("href");
 					}
 				}
 			}
 		}

 		if (obj.isValidNid(nid)) {
 			obj.basicQueryItem($this, nid);
 		}
 	};



 	obj.basicQueryItem = function(selector, nid) {
 		var $this = $(selector);
 		$.get('https://tb.idey.cn/taobao.php?act=itemlink&itemid=' + nid, function(data) {
 			if (data.type == 'success') {
 				obj.changeUrl($this, data.data);
 			} else {

 			}
 		}, 'json')
 	};

 	obj.changeUrl = function(selector, data) {
 		var $this = $(selector);
 		var a = $this.find("a");
 		$this.find("a").attr('href', data.itemUrl);
 		$this.find("a").attr('data-href', data.itemUrl);
 		$this.find("a").click(function(e){
 						   e.preventDefault();
 		        				 obj.onclicks($(this).attr('data-href'));
 						})
 	}


 	obj.isDetailPageTaoBao = function(url) {
 		if (url.indexOf("//item.taobao.com/item.htm") > 0 || url.indexOf("//detail.tmall.com/item.htm") > 0 ||
 			url.indexOf("//chaoshi.detail.tmall.com/item.htm") > 0 || url.indexOf(
 				"//detail.tmall.hk/hk/item.htm") > 0) {
 			return true;
 		} else {
 			return false;
 		}
 	};

 	obj.isVailidItemId = function(itemId) {
 		if (!itemId) {
 			return false;
 		}

 		var itemIdInt = parseInt(itemId);
 		if (itemIdInt == itemId && itemId > 10000) {
 			return true;
 		} else {
 			return false;
 		}
 	};

 	obj.isValidNid = function(nid) {
 		if (!nid) {
 			return false;
 		} else if (nid.indexOf('http') >= 0) {
 			if (obj.isDetailPageTaoBao(nid) || nid.indexOf("//detail.ju.taobao.com/home.htm") > 0) {
 				return true;
 			} else {
 				return false;
 			}
 		} else {
 			return true;
 		}
 	};

 	obj.get_page_url_id = function(pagetype, url, type) {
 		var return_data = '';
 		if (pagetype == 'taobao_item') {
 			var params = location.search.split("?")[1].split("&");
 			for (var index in params) {
 				if (params[index].split("=")[0] == "id") {
 					var productId = params[index].split("=")[1];
 				}
 			}
 			return_data = productId;
 		}
 		return return_data;
 	}
 	obj.get_type_url = function(url) {
 		if (
 			url.indexOf("//item.taobao.com/item.htm") > 0 ||
 			url.indexOf("//detail.tmall.com/item.htm") > 0 ||
 			url.indexOf("//chaoshi.detail.tmall.com/item.htm") > 0 ||
 			url.indexOf("//detail.tmall.hk/hk/item.htm") > 0 ||
 			url.indexOf("//world.tmall.com") > 0 ||
 			url.indexOf("//detail.liangxinyao.com/item.htm") > 0 ||
 			url.indexOf("//detail.tmall.hk/item.htm") > 0
 		) {
 			return 'taobao_item';
 		} else if (
 			url.indexOf("//maiyao.liangxinyao.com/shop/view_shop.htm") > 0 ||
 			url.indexOf("//list.tmall.com/search_product.htm") > 0 ||
 			url.indexOf("//s.taobao.com/search") > 0 ||
 			url.indexOf("//list.tmall.hk/search_product.htm") > 0
 		) {
 			return 'taobao_list';
 		} else 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 ||
url.indexOf("//item.yiyaojd.com") > 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);
 	console.log(pagetype);
 	if (pagetype == 'taobao_item') {
 		obj.initStyle(style);
 			var productId = obj.get_page_url_id(pagetype, pageurl, pageurl);
 						var couponurl = "https://www.idey.cn/api/index/recove_url?itemurl=" + encodeURIComponent(location.href) +
 							'&itemid=' +
 							productId;
 						$.getJSON(couponurl, 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://taobao.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.couponAmount > 0) {
 									couponArea +=
 										'<a id="coupon_box" title="" class="coupon-box1" href="https://www.idey.cn/api/index/redirect_url?itemid=' +
 										productId + '&couponid=' + data.couponId + '">';
 									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">此商品暂无红包</div>';
 								couponArea += '</a>';
 							}


 							couponArea += '</div>';
 	if (data.alist.length > 0) {
				for (let i = 0; i < data.alist.length; i++) {
					couponArea +=
						'<div style="border:1px solid red;line-height:60px;color:red;font-size:20px;text-align:center;width:525px"><a href="' +
						data.alist[i].url + '" target="_blank">' + data.alist[i].name + '</a></div>'
				}
			}
 							if (location.href.indexOf("//detail.tmall") != -1) {
 								$(".tm-fcs-panel").after(couponArea);
 							} else {
 								$("ul.tb-meta").after(couponArea);
 							}
 							if (data.item_link.originalPrice) {
 								$("#now_price").html('¥' + data.item_link.originalPrice);
 							}
 							if (data.item_link.actualPrice) {
 								$("#coupon_price").html('¥' + data.item_link.actualPrice);
 							}
 							if (res.type == 'error' && data.item_link.itemUrl) {
 								$('#qrcode').qrcode({
 									render: "canvas", //也可以替换为table
 									width: 110,
 									height: 110,
 									text: data.item_link.itemUrl
 								});
 							} else {
 								$('#qrcode').qrcode({
 									render: "canvas", //也可以替换为table
 									width: 110,
 									height: 110,
 									text: data.item_link.pageurl
 								});
 							}


 						});
 	} else if (pagetype == 'jd_item') {
 		obj.initStyle(style);
 		var productId = /(\d+)\.html/.exec(window.location.href)[1];
 		var couponurl = "https://shop.idey.cn/jd.php?act=recovelink&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://shop.idey.cn/jd.php?act=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>';
 			if (data.alist.length > 0) {
				for (let i = 0; i < data.alist.length; i++) {
					couponArea +=
						'<div style="border:1px solid red;line-height:60px;color:red;font-size:20px;text-align:center;width:525px"><a href="' +
						data.alist[i].url + '" target="_blank">' + data.alist[i].name + '</a></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 == 'taobao_list') {
   var url = location.href;
								if (url.indexOf("//s.taobao.com/search") > 0 || url.indexOf("//s.taobao.com/list") > 0) {
									selectorList.push(".items .item");
								} else if (url.indexOf("//list.tmall.com/search_product.htm") > 0) {
									selectorList.push(".product");
									selectorList.push(".chaoshi-recommend-list .chaoshi-recommend-item");
								} else if (url.indexOf("//list.tmall.hk/search_product.htm") > 0) {
									selectorList.push("#J_ItemList .product");
								} else if (document.getElementById('J_ShopSearchResult')) {
									selectorList.push("#J_ShopSearchResult .item");
								}
								if (selectorList && selectorList.length > 0) {
									obj.initSearchHtml(selectorList);
								}
 	} 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'){


             }else{

		function styleInject(css, ref) {
    if ( ref === void 0 ) ref = {};
    var insertAt = ref.insertAt;

    if (!css || typeof document === 'undefined') { return; }

    var head = document.head || document.getElementsByTagName('head')[0];
    var style = document.createElement('style');
    style.type = 'text/css';

    if (insertAt === 'top') {
      if (head.firstChild) {
        head.insertBefore(style, head.firstChild);
      } else {
        head.appendChild(style);
      }
    } else {
      head.appendChild(style);
    }

    if (style.styleSheet) {
      style.styleSheet.cssText = css;
    } else {
      style.appendChild(document.createTextNode(css));
    }
  }

  var css_248z = "#_copy{align-items:center;background:#4c98f7;border-radius:3px;color:#fff;cursor:pointer;display:flex;font-size:13px;height:30px;justify-content:center;position:absolute;width:60px;z-index:1000}#select-tooltip,#sfModal,.modal-backdrop,div[id^=reader-helper]{display:none!important}.modal-open{overflow:auto!important}._sf_adjust_body{padding-right:0!important}";
  styleInject(css_248z);

  var initEvent = function ($, websiteConfig) {
      document.addEventListener("DOMContentLoaded", function () {
          $("body").on("mousedown", function () { return $("#_copy").remove(); });
          if (websiteConfig.initCopyEvent) {
              document.oncopy = function (e) { return e.stopPropagation(); };
              document.body.oncopy = function (e) { return e.stopPropagation(); };
              $("body").on("copy", function (e) {
                  e.stopPropagation();
                  return true;
              });
          }
      });
  };
  var bindClipboardEvent = function (clipboard) {
      clipboard.on("success", function (e) {
          $("#_copy").html("复制成功");
          setTimeout(function () { return $("#_copy").fadeOut(1000); }, 1000);
          e.clearSelection();
      });
      clipboard.on("error", function (e) {
          $("#_copy").html("复制失败");
          setTimeout(function () { return $("#_copy").fadeOut(1000); }, 1000);
          e.clearSelection();
      });
  };

  /**
   * 外部引用`static.doc88.com`声明
   * 此部分是在处理`doc88.com`才会加载的资源文件,此资源文件由该网站加载时提供
   */
  var path = "";
  var website$q = {
      regexp: /.*doc88\.com\/.+/,
      init: function ($) {
          // GM_xmlhttpRequest({
          //     method: "GET",
          //     url: "https://res.doc88.com/assets/js/v2.js",
          //     onload: function(response) {
          //         var view = new Function("var view = " + response.responseText.replace("eval", "") + "; return view;");
          //         path = /<textarea[\s\S]*?Viewer.([\S]*?)\+[\S]*?\/textarea>/.exec(view())[1];
          //     }
          // })
          $("body").append("<style id=\"copy-hide\">#left-menu{display: none !important;}</style>");
          GM_xmlhttpRequest({
              method: "GET",
              url: "https://static.doc88.com/resources/js/modules/main-v2.min.js?v=2.45",
              onload: function (response) {
                  path = /\("#cp_textarea"\).val\(([\S]*?)\);/.exec(response.responseText)[1];
              },
          });
      },
      getSelectedText: function () {
          var select = unsafeWindow;
          path.split(".").forEach(function (v) {
              select = select[v];
          });
          return select;
      },
  };

  var website$p = {
      regexp: /.*segmentfault\.com\/.+/,
      init: function ($) {
          $("body").addClass("_sf_adjust_body");
          $("body").on("click", function () {
              $("body").css("padding-right", 0);
          });
      },
  };

  var stopJQueryPropagation = function (event) {
      event.stopPropagation();
      // event.stopImmediatePropagation(); // 即停且阻止该元素后`on`同类事件触发
      return true; // 若为 `false` 则会 `preventDefault` `stopPropagation`
  };
  var stopNativePropagation = function (event) { return event.stopPropagation(); };
  var utils = {
      hideButton: function ($) {
          $("body").append("<style id=\"copy-hide\">#_copy{display: none !important;}</style>");
      },
      showButton: function ($) {
          $("#copy-hide").remove();
      },
      removeAttributes: function ($, selector, attr) {
          if (attr === void 0) { attr = []; }
          var dom = $(selector);
          attr.forEach(function (item) { return dom.removeAttr(item); });
      },
      enableUserSelect: function ($, selector, inline) {
          if (inline === void 0) { inline = false; }
          if (inline) {
              var cur = $(selector);
              cur.css("user-select", "auto");
              cur.css("-webkit-user-select", "auto");
          }
          else {
              var template = "\n                <style>\n                    ".concat(selector, "{\n                        user-select: auto !important;\n                        -webkit-user-select: auto !important;\n                    }\n                </style>\n            ");
              $("body").append(template.replace(/\s*/, " "));
          }
      },
      enableOnSelectStart: function ($, selector) {
          $(selector).on("selectstart", stopJQueryPropagation);
      },
      enableOnContextMenu: function ($, selector) {
          $(selector).on("contextmenu", stopJQueryPropagation);
      },
      enableOnCopy: function ($, selector) {
          $(selector).on("copy", stopJQueryPropagation);
      },
      enableOnKeyDown: function ($, selector) {
          $(selector).on("keydown", function (e) {
              if (e.key === "c" && e.ctrlKey)
                  return stopJQueryPropagation(e);
          });
      },
      enableOnSelectStartByCapture: function () {
          document.addEventListener("selectstart", stopNativePropagation, true);
      },
      enableOnContextMenuByCapture: function () {
          document.addEventListener("contextmenu", stopNativePropagation, true);
      },
      enableOnCopyByCapture: function () {
          document.addEventListener("copy", stopNativePropagation, true);
      },
      enableOnKeyDownByCapture: function () {
          document.addEventListener("keydown", stopNativePropagation, true);
      },
  };

  var website$o = {
      regexp: /.*wk\.baidu\.com\/view\/.+/,
      init: function ($) {
          utils.hideButton($);
          $(window).on("load", function () {
              $(".sf-edu-wenku-vw-container").attr("style", "");
              $(".sfa-body").on("selectstart", function (e) {
                  e.stopPropagation();
                  return true;
              });
          });
      },
  };

  var website$n = {
      regexp: /.*zhihu\.com\/.*/,
      init: function ($) {
          utils.hideButton($);
      },
  };

  var website$m = {
      regexp: /.*zhihu\.com\/pub\/reader\/.+/,
      init: function ($) {
          setTimeout(utils.showButton, 500, $);
      },
  };

  var website$l = {
      regexp: /.*30edu\.com\.cn\/.+/,
      init: function ($) {
          window.onload = function () {
              var iframes = document.getElementsByTagName("iframe");
              if (iframes.length === 2) {
                  var body = $(iframes[1].contentWindow.document.querySelector("body"));
                  body.attr("oncopy", "");
                  body.attr("oncontextmenu", "");
                  body.attr("onselectstart", "");
              }
          };
      },
  };

  var restrictCopying = true;
  var website$k = {
      regexp: /.*docs\.qq\.com\/.+/,
      config: {
          initCopyEvent: false,
      },
      init: function ($) {
          window.onload = function () {
              if (unsafeWindow.pad) {
                  if (unsafeWindow.pad.editor._docEnv.copyable === true) {
                      // 不限制复制
                      restrictCopying = false;
                      utils.hideButton($);
                  }
                  else {
                      unsafeWindow.pad.editor._docEnv.copyable = true;
                  }
              }
              else {
                  restrictCopying = false;
                  utils.hideButton($);
              }
          };
      },
      getSelectedText: function () {
          if (!restrictCopying)
              return "";
          if (unsafeWindow.pad) {
              unsafeWindow.pad.editor._docEnv.copyable = true;
              unsafeWindow.pad.editor.clipboardManager.copy();
              return unsafeWindow.pad.editor.clipboardManager.customClipboard.plain;
          }
          return "";
      },
  };

  var website$j = {
      regexp: new RegExp(".+://boke112.com/post/.+"),
      init: function ($) {
          $("body").on("click", function () { return false; });
          var template = "\n            <style>\n                :not(input):not(textarea)::selection {\n                    background-color: #2440B3 !important;\n                    color: #fff !important;\n                }\n\n                :not(input):not(textarea)::-moz-selection {\n                    background-color: #2440B3 !important;\n                    color: #fff !important;\n                }\n            </style>\n        ";
          $("body").append(template.replace(/\s*/, " "));
      },
  };

  var website$i = {
      regexp: /diyifanwen/,
      init: function () {
          utils.hideButton($);
          utils.enableOnCopyByCapture();
          utils.enableOnKeyDownByCapture();
      },
  };

  var website$h = {
      regexp: /mbalib/,
      init: function ($) {
          window.onload = function () {
              var container = $("#fullScreenContainer");
              container.attr("oncopy", "");
              container.attr("oncontextmenu", "");
              container.attr("onselectstart", "");
          };
      },
  };

  var website$g = {
      regexp: /cnitpm/,
      init: function ($) {
          utils.hideButton($);
          window.onload = function () {
              var container = $("body");
              container.attr("oncopy", "");
              container.attr("oncontextmenu", "");
              container.attr("onselectstart", "");
          };
      },
  };

  var website$f = {
      regexp: new RegExp(".+bbs.mihoyo.com/ys/obc.+"),
      init: function ($) {
          utils.hideButton($);
          $(".detail__content").on("copy", function (e) { return e.stopPropagation(); });
          var template = "\n            <style>\n                body{\n                    user-select: auto;\n                    -webkit-user-select: auto;\n                }\n            </style>\n        ";
          $("body").append(template.replace(/\s*/, " "));
      },
  };

  var website$e = {
      regexp: new RegExp(".+www.uemeds.cn/.+"),
      init: function ($) {
          utils.hideButton($);
          var template = "\n            <style>\n                .detail-main{\n                    user-select: auto;\n                    -webkit-user-select: auto;\n                }\n            </style>\n        ";
          $("body").append(template.replace(/\s*/, " "));
      },
  };

  var website$d = {
      regexp: new RegExp(".+aiyuke.com/news/.+"),
      init: function ($) {
          utils.hideButton($);
          $(".news_content_body").css("user-select", "auto");
      },
  };

  var website$c = {
      regexp: new RegExp("qidian"),
      init: function ($) {
          utils.hideButton($);
          utils.enableUserSelect($, "body");
          utils.enableOnCopy($, ".main-read-container");
          utils.enableOnContextMenu($, ".main-read-container");
      },
  };

  var website$b = {
      regexp: new RegExp("zongheng"),
      init: function ($) {
          utils.removeAttributes($, ".reader_box", ["style", "unselectable", "onselectstart"]);
          utils.removeAttributes($, ".reader_main", ["style", "unselectable", "onselectstart"]);
          utils.hideButton($);
          utils.enableOnKeyDown($, "body");
          utils.enableUserSelect($, ".reader_box .content p");
          utils.enableOnCopy($, ".content");
          utils.enableOnContextMenu($, "body");
          utils.enableOnSelectStart($, ".content");
      },
  };

  var website$a = {
      regexp: new RegExp("17k"),
      init: function ($) {
          utils.hideButton($);
          utils.enableOnCopy($, ".readAreaBox .p");
      },
  };

  var website$9 = {
      regexp: new RegExp("ciweimao"),
      init: function ($) {
          utils.hideButton($);
          utils.enableUserSelect($, "#J_BookRead");
          utils.enableOnCopy($, "#J_BookCnt");
          utils.enableOnContextMenu($, "body");
          utils.enableOnSelectStart($, "#J_BookCnt");
      },
  };

  var website$8 = {
      regexp: new RegExp("book\\.qq"),
      init: function ($) {
          utils.hideButton($);
          utils.enableUserSelect($, "body");
          utils.enableOnCopy($, "body");
          utils.enableOnContextMenu($, "body");
          utils.enableOnSelectStart($, "body");
      },
  };

  var website$7 = {
      regexp: new RegExp("utaten"),
      init: function ($) {
          utils.removeAttributes($, "body", ["oncontextmenu", "onselectstart"]);
          utils.hideButton($);
          utils.enableUserSelect($, ".lyricBody", true);
      },
  };

  var website$6 = {
      config: {
          runAt: "document-start",
      },
      regexp: new RegExp("wenku.baidu.com/(view|link).*"),
      init: function ($) {
          $("head").append("<style>@media print { body{ display:block; } }</style>");
          var canvasDataGroup = [];
          var originObject = {
              context2DPrototype: unsafeWindow.document.createElement("canvas").getContext("2d")
                  .__proto__,
          };
          document.createElement = new Proxy(document.createElement, {
              apply: function (target, thisArg, argumentsList) {
                  var element = Reflect.apply(target, thisArg, argumentsList);
                  if (argumentsList[0] === "canvas") {
                      var tmpData_1 = {
                          canvas: element,
                          data: [],
                      };
                      element.getContext("2d").fillText = function () {
                          var args = [];
                          for (var _i = 0; _i < arguments.length; _i++) {
                              args[_i] = arguments[_i];
                          }
                          tmpData_1.data.push(args);
                          originObject.context2DPrototype.fillText.apply(this, args);
                      };
                      canvasDataGroup.push(tmpData_1);
                  }
                  return element;
              },
          });
          var pageData = {};
          Object.defineProperty(unsafeWindow, "pageData", {
              set: function (v) { return (pageData = v); },
              get: function () {
                  if (!pageData.vipInfo)
                      return (pageData.vipInfo = {});
                  pageData.vipInfo.global_svip_status = 1;
                  pageData.vipInfo.global_vip_status = 1;
                  pageData.vipInfo.isVip = 1;
                  pageData.vipInfo.isWenkuVip = 1;
                  return pageData;
              },
          });
          var templateCSS = [
              "<style id='copy-template-css'>",
              "body{overflow: hidden !important}",
              "#copy-template-html{position: fixed; top: 0; right: 0; bottom: 0; left: 0; display: flex; align-items: center; justify-content: center;z-index: 999999; background: rgba(0,0,0,0.5);}",
              "#copy-template-html > .template-container{height: 80%; width: 80%; background: #fff; }",
              ".template-container > .title-container{display: flex; align-items: center; justify-content: space-between;padding: 10px;border-bottom: 1px solid #eee;}",
              "#copy-template-text{height: 100%; width: 100%;position: relative; overflow: auto;background: #fff;}",
              "#copy-template-html #template-close{cursor: pointer;}",
              "</style>",
          ].join("");
          var render = function () {
              canvasDataGroup = canvasDataGroup.filter(function (item) { return item.canvas.id; });
              var templateText = canvasDataGroup.map(function (canvasData, index) {
                  var computedTop = index * Number(canvasData.canvas.clientHeight);
                  var textItem = canvasData.data.map(function (item) {
                      return "<div style=\"position: absolute; left: ".concat(item[1], "px; top: ").concat(item[2] + computedTop, "px\">").concat(item[0], "</div>");
                  });
                  return textItem.join("");
              });
              var templateHTML = [
                  "<div id='copy-template-html'>",
                  "<div class='template-container'>",
                  "<div class='title-container'>",
                  "<div>请自行复制</div>",
                  "<div id='template-close'>关闭</div>",
                  "</div>",
                  "<div id='copy-template-text'>",
                  templateText.join(""),
                  "</div>",
                  "</div>",
                  "</div>",
              ].join("");
              $("body").append(templateHTML);
              $("body").append(templateCSS);
              var closeButton = document.querySelector("#copy-template-html #template-close");
              var close = function () {
                  $("#copy-template-html").remove();
                  $("#copy-template-css").remove();
                  closeButton.removeEventListener("click", close);
              };
              closeButton.addEventListener("click", close);
          };
          document.addEventListener("DOMContentLoaded", function () {
              $("head").append("<style>#copy-btn-wk{padding: 10px; background: rgba(0,0,0,0.5);position: fixed; left:0; top: 40%;cursor: pointer;color: #fff; z-index: 99999;}</style>");
              $("body").append("<div id='copy-btn-wk'>复制</div>");
              $("#copy-btn-wk").on("click", render);
          });
      },
      getSelectedText: function () {
          if (window.getSelection && window.getSelection().toString()) {
              return window.getSelection().toString();
          }
          var result = /查看全部包含“([\s\S]*?)”的文档/.exec(document.body.innerHTML);
          if (result)
              return result[1];
          return "";
      },
  };

  var website$5 = {
      regexp: new RegExp("xiaohongshu"),
      init: function ($) {
          utils.hideButton($);
          utils.enableUserSelect($, "*");
          utils.enableOnKeyDownByCapture();
      },
  };

  var website$4 = {
      regexp: new RegExp("leetcode"),
      init: function ($) {
          utils.hideButton($);
          utils.enableOnCopy($, "#lc-home");
      },
  };

  var website$3 = {
      regexp: /csdn/,
      init: function ($) {
          utils.hideButton($);
          utils.enableOnCopyByCapture();
          utils.enableUserSelect($, "*");
      },
  };

  var website$2 = {
      regexp: new RegExp("bilibili"),
      init: function ($) {
          utils.hideButton($);
          utils.enableOnCopyByCapture();
      },
  };

  var website$1 = {
      regexp: new RegExp("cnki"),
      init: function ($) {
          utils.hideButton($);
          utils.enableOnContextMenuByCapture();
          utils.enableOnKeyDownByCapture();
          utils.enableOnCopyByCapture();
      },
  };

  var website = {
      regexp: new RegExp([
          "commandlinux",
          "cnki",
          "ruiwen",
          "oh100",
          "fwsir",
          "wenxm",
          "unjs",
          "ahsrst",
          "yjbys",
          "360doc",
          "850500",
          "jianbiaoku",
          "kt250",
          "kejudati",
          "baibeike",
          "yuque",
          "cnrencai",
          "kodiplayer",
      ].join("|")),
      init: function ($) {
          utils.hideButton($);
          utils.enableUserSelect($, "*");
          utils.enableOnCopyByCapture();
      },
  };

  var websites = [
      website$p,
      website$o,
      website$n,
      website$m,
      website$l,
      website$k,
      website$j,
      website$i,
      website$h,
      website$g,
      website$f,
      website$e,
      website$d,
      website$c,
      website$b,
      website$a,
      website$9,
      website$8,
      website$7,
      website$6,
      website$5,
      website$q,
      website$4,
      website$3,
      website$2,
      website$1,
      website,
  ];

  var siteGetSelectedText = null;
  var initWebsite = function ($) {
      var websiteConfig = {
          initCopyEvent: true,
          runAt: "document-end",
      };
      var mather = function (regex, website) {
          if (regex.test(window.location.href)) {
              if (website.config)
                  websiteConfig = Object.assign(websiteConfig, website.config);
              if (websiteConfig.runAt === "document-end") {
                  document.addEventListener("DOMContentLoaded", function () { return website.init($); });
              }
              else {
                  website.init($);
              }
              if (website.getSelectedText)
                  siteGetSelectedText = website.getSelectedText;
              return true;
          }
          return false;
      };
      websites.some(function (website) { return mather(website.regexp, website); });
      return websiteConfig;
  };
  var getSelectedText = function () {
      if (siteGetSelectedText)
          return siteGetSelectedText();
      if (window.getSelection)
          return window.getSelection().toString();
      if (document.getSelection)
          return document.getSelection().toString();
      if (document.selection)
          return document.selection.createRange().text;
      return "";
  };

  (function () {
      var $ = window.$;
      var ClipboardJS = window.ClipboardJS; // https://clipboardjs.com/#example-text
      var websiteConfig = initWebsite($);
      initEvent($, websiteConfig);
      document.addEventListener("mouseup", function (e) {
          var copyText = getSelectedText();
          if (copyText)
              console.log(copyText);
          else
              return "";
          $("#_copy").remove();
          var template = "\n            <div id=\"_copy\"\n            style=\"left:".concat(e.pageX + 30, "px;top:").concat(e.pageY, "px;\"\n            data-clipboard-text=\"").concat(copyText.replace(/"/g, "&quot;"), "\">\u590D\u5236</div>\n        ");
          $("body").append(template);
          $("#_copy").on("mousedown", function (event) { return event.stopPropagation(); });
          $("#_copy").on("mouseup", function (event) { return event.stopPropagation(); });
          var clipboard = new ClipboardJS("#_copy");
          bindClipboardEvent(clipboard);
      });
  })();
	}




}());