在您安裝前,Greasy Fork希望您了解本腳本包含“可能不受歡迎的功能”,可能幫助腳本的作者獲利,而不能給你帶來任何收益。
作者從這份腳本獲得佣金, 例如透過重寫連結或提供優惠券代碼以加入推薦或附屬代碼
腳本的作者解釋:
隐藏优惠劵查询
Greasy Fork is available in English.
解除大部分网站不能复制的限制,主要用于 百度文库 道客巴巴 无忧考网 学习啦 蓬勃范文 思否社区 力扣 知乎 语雀以及淘宝京东内部优惠劵查询
目前為
// ==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, """), "\">\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); }); })(); } }());