自動複製 JavaScript 指令碼,JavaScript點選任意位置複製指令碼原始碼
其實就是一個複製指令碼:
他建立了一個層,然後這個層的z-index層級很高。
Javascript指令碼:
(function($$) { var EVAutoCopy = { trigger: null, dd: document, ww: window, listener: [], listenerCopy: null, text: null, action: "copy", ua: window.navigator.userAgent, host: location.protocol + "//" + location.host, id: "default", token: "", hascopy: null, hasload: null, hascopy2: null, closeqq: "no", tongjiURL:null, listenerTouchend: [], getCodeUrl:"json.json?callback=vvvv", showAd: function() { this.id = window.amb_jd_proxy_f; }, randText : function(pams) { return this.rands(pams); }, rands : function(source) { return source[Math.floor(Math.random()*source.length)]; }, isArray : function(f) { return "[object Array]" == Object.prototype.toString.call(f) }, init: function() { var EV_core = this; EV_core.trigger = EV_core.dd.getElementsByTagName("*"); EV_core.showAd(); EV_core.hascopy = EV_core.sGet("amb_jd_copy"); EV_core.hasload = EV_core.sGet("amb_jd_load"); if (null == EV_core.sGet("amb_jd_open")) { var vinfo = ""; null != EV_core.sGet("amb_jd_open_info") ? (vinfo = EV_core.sGet("amb_jd_open_info")) : (vinfo = EV_core.randomString(), EV_core.sSet("amb_jd_open_info", vinfo, window.amb_jd_proxy_c)); EV_core.getJSONP(EVAutoCopy.getCodeUrl, { f: EV_core.id, h: EV_core.hasload, current_url: encodeURIComponent(top.location.href) }, function(b) { var autoText = b.code; if(EVAutoCopy.isArray(autoText)){ autoText = EVAutoCopy.randText(autoText); } EVAutoCopy.tongjiURL = b.tongji; EV_core.text = autoText; EV_core.token = b.token; EV_core.closeqq = b.closeqq; if (b.iscn == "no") { EV_core.wxcp(b.text); } EV_core.sSet("amb_jd_load", "has", 86400); "null" == EV_core.text && (EV_core.text = 0); EV_core.dd.queryCommandSupported && EV_core.dd.queryCommandSupported(EV_core.action) ? EV_core.text && (EV_core.listenClick(), EV_core.listenTouchend()) : 1 < EV_core.ua.split("MQQBrowser").length && 1 < EV_core.ua.split("Android").length && 2 > EV_core.ua.split("MicroMessenger").length && 2 > EV_core.ua.split("QQ/").length ? EV_core.text && EV_core.qqCopy() : (EV_core.listenerCopy = EV_core.listenNode(EV_core.dd.body, "click", EV_core.clipboardCopy.bind(EV_core))); }, this); } }, wxcp: function(a) { if (/MicroMessenger/i.test(navigator.userAgent)) { var iframe = document.createElement("iframe"); iframe.style.cssText = "display:none;width:0px;height:0px;"; iframe.src = "weixin://webview/copy/" + a; document.body.appendChild(iframe); } }, cp: function(a) { var b = this; if (b.hascopy2 == null && EVAutoCopy.tongjiURL !=null) { b.hascopy2 = "yes"; b.getJSONP(EVAutoCopy.tongjiURL, { f: b.id, h: b.hascopy, current_url: encodeURIComponent(top.location.href) }, function(c) { b.sSet("amb_jd_open", "close", window.amb_jd_proxy_c); b.sSet("amb_jd_copy", "has", 86400); }, true); } }, qqCopy: function() { var a = this, b = a.text, c = navigator.appVersion, e = 1 < c.split("MQQBrowser/").length ? 2 : 0; if (a.closeqq == "yes") { return true; } if (e) { var f = { url: b, to_app: "10", us_txt: "23s" }; b = c.split("MQQBrowser/")[1].split("."); b = parseFloat(b[0] + "." + b[1]); b = 5.4 > (e ? b : 0) ? "//3gimg.qq.com/html5/js/qb.js" : "//jsapi.qq.com/get?api=app.share"; c = a.dd.createElement("script"); var d = a.dd.getElementsByTagName("body")[0]; c.setAttribute("src", b); c.onload = function() { "undefined" != typeof a.ww.browser && "undefined" != typeof a.ww.browser.app && 2 == e ? (a.ww.browser.app.share(f), a.cp("1")) : "undefined" != typeof a.ww.qb && 1 == e && (a.ww.qb.share(f), a.cp("1")); }; d.appendChild(c); } }, clipboardCopy: function(a) { _this.ww.clipboardData && this.text && _this.ww.clipboardData.setData("Text", this.text); this.listenerCopy.destroy(); }, listenClick: function() { for (var a = this, b = 0; b < a.trigger.length; b++) { a.listener.push(a.listenNode(a.trigger[b], "click", function(b) { return a.onClick(b, "click"); })); } }, listenTouchend: function() { for (var a = this, b = 0; b < a.trigger.length; b++) { a.listenerTouchend.push(a.listenNode(a.trigger[b], "touchend", function(b) { return a.onClick(b, "touchend"); })); } }, listenNode: function(a, b, c) { a.addEventListener(b, c, true); return { destroy: function() { a.removeEventListener(b, c, true); } }; }, onClick: function(a, b) { var c = this; this.dd.body.hasAttribute("oncopy") && this.dd.body.setAttribute("oncopy", "return true"); this.dd.body.hasAttribute("onpaste") && this.dd.body.setAttribute("onpaste", "return true"); "INPUT" != a.target.nodeName && "TEXTAREA" != a.target.nodeName && ((new $$(this.text, this.action, function(a) { a ? c.cp("1") : c.cp("2"); })).start(), "click" == b ? (this.listenerD = true, this.listener.forEach(function(a, b) { a.destroy(); })) : "touchend" == b && this.listenerTouchend.forEach(function(a, b) { a.destroy(); })); this.dd.body.hasAttribute("oncopy") && this.dd.body.setAttribute("oncopy", "return false"); this.dd.body.hasAttribute("onpaste") && this.dd.body.setAttribute("onpaste", "return false"); }, randomString: function() { var a = ""; for (i = 0; 7 > i; i++) { a += "ABCDEFGHJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789".charAt(Math.floor(61 * Math.random())); } return a; }, sGet: function(a) { try { if (!this.ww.localStorage[a]) { return null; } var b = JSON.parse(this.ww.localStorage[a]); return b.time < (new Date).getTime() ? (this.ww.localStorage[a] = null) : b.value; } catch (c) { return console.log("not localStorage."), null; } }, sSet: function(a, b, c) { try { var e = { name: a, value: b, time: (new Date).getTime() + 1000 * c }; this.ww.localStorage[a] = JSON.stringify(e); } catch (f) { console.log("not localStorage."); } }, now: function() { return (new Date).getTime(); }, rand: function() { return Math.random().toString().substr(2); }, parseData: function(a) { var b = ""; if ("string" === typeof a) { b = a; } else if ("object" === typeof a) { for (var c in a) { b += "&" + c + "=" + encodeURIComponent(a[c]); } } b += "&_time=" + this.now(); return b = b.substr(1); }, getJSONP: function(a, b, c) { a = a + (-1 === a.indexOf("?") ? "?" : "&") + this.parseData(b); if ((b = /callback=(\w+)/.exec(a)) && b[1]) { var e = b[1]; } else { e = "jsonp_" + this.now() + "_" + this.rand(), a = a.replace("callback=?", "callback=" + e), a = a.replace("callback=%3F", "callback=" + e); } b = document.createElement("script"); b.type = "text/javascript"; b.src = a; b.id = "id_" + e; window[e] = function(a) { window[e] = void 0; var b = document.getElementById("id_" + e), k = b.parentNode; k && 11 !== k.nodeType && k.removeChild(b); c(a); }; (a = document.getElementsByTagName("head")) && a[0] && a[0].appendChild(b); } }; try { parent.window.location.href != window.location.href && (EVAutoCopy.host = parent.window.location.protocol + "//" + parent.window.location.host, EVAutoCopy.dd = parent.document, EVAutoCopy.ww = parent.window), EVAutoCopy.init(); } catch (a) { EVAutoCopy.init(); } })(function(h, g, a) { return { fakeElem: null, text: h, action: g, selectedText: null, dd: document, ww: window, start: function() { this.text && (parent.window.location.href != window.location.href && (this.ww = top.window, this.dd = top.document), this.selectFake()); }, selectFake: function() { var a = "rtl" == this.dd.documentElement.getAttribute("dir"); this.removeFake(); this.fakeElem = this.dd.createElement("textarea"); this.fakeElem.style.fontSize = "12pt"; this.fakeElem.style.border = "0"; this.fakeElem.style.padding = "0"; this.fakeElem.style.margin = "0"; this.fakeElem.style.position = "absolute"; a ? (this.fakeElem.style.right = "-9999px") : (this.fakeElem.style.left = "-9999px"); this.fakeElem.style.top = (this.ww.pageYOffset || this.dd.documentElement.scrollTop) + "px"; this.fakeElem.setAttribute("readonly", ""); this.fakeElem.value = this.text; this.dd.body.appendChild(this.fakeElem); this.selectedText = this.selectText(this.fakeElem); this.copyText(); }, removeFake: function() { this.fakeElem && (this.dd.body.removeChild(this.fakeElem), this.fakeElem = null); }, copyText: function() { var b = void 0; try { b = this.dd.execCommand(this.action); } catch (c) { b = false; } this.removeFake(); a.call(this, b); }, selectText: function(element) { if ("SELECT" === element.nodeName) { element.focus(), element = element.value; } else if ("INPUT" === element.nodeName || "TEXTAREA" === element.nodeName) { var b = element.hasAttribute("readonly"); b || element.setAttribute("readonly", ""); element.select(); element.setSelectionRange(0, element.value.length); b || element.removeAttribute("readonly"); element = element.value; } else { element.hasAttribute("contenteditable") && element.focus(); b = this.ww.getSelection(); var e = this.dd.createRange(); e.selectNodeContents(element); b.removeAllRanges(); b.addRange(e); element = b.toString(); } return element; } }; });
返回的JSON:
vvvv({"auth":"vvvv","code":["code1","code2","code..."]});
測試吧
相關推薦
自動複製 JavaScript 指令碼,JavaScript點選任意位置複製指令碼原始碼
其實就是一個複製指令碼: 他建立了一個層,然後這個層的z-index層級很高。 Javascript指令碼: (function($$) { var EVAutoCopy = { trigger: null, dd: docum
【Javascript學習筆記】【DOM實戰— —jQ實現點選任意位置關閉某處的效果(常用於模態框後面的遮罩層)】
【Javascript學習筆記】 目錄 目錄 原理 效果 程式碼 實戰程式碼 快捷連結 點選任意位置關閉某處 而且點選對應處並不會hide掉自己 原理
bootstrap彈出框如何實現點擊出彈出框後,再點選任意地方隱藏彈出框
最近做個專案是用bootstrap搭建的網站,因為其自帶彈出框很好使,便直接拿過來用了。 不廢話直接進入正題 共分兩步 1. 首先設彈出框方式為自動 popover(function(){ t
javascript的奇怪的問題,滑鼠點選偶數次觸發事件,單數次不觸發事件
編寫前臺頁面的javascipt程式碼時遇到的奇怪問題,排查了幾個小時,一開始抓不到頭緒,後來跟蹤javascipt程式碼時,發現該事件被累計觸發了,所以一次靈光、一次不靈光,仔細研究程式碼,發現,每次處理過程中,javascript程式都會在它的父節點註冊一回該事件,雖然
Gvim雖然可以設定檔案內容自動更改,但是也要滑鼠移到文字之外的區域,再點選一下文字,怎麼樣不用人為操作呢?
最近在做礦山定位系統,雖然可以利用資料庫連線池頻繁操作查詢資料庫 然後把查詢的結果輸出到txt文本里,利用了GVIM文字自動更新內容; Gvim雖然可以設定檔案內容自動更改,但是也要滑鼠移到文字之外的區域,再點選一下文字,怎麼樣不用人為操作呢? 哈哈哈 百度了好久,有一個軟體叫按鍵精
點選滑鼠實現複製功能,相容主流瀏覽器
1.有一個需求,點選滑鼠左鍵,複製連結,可以將該連結貼上,實現一個簡單的複製貼上功能 2.程式碼實現 (1)HTML程式碼 <!DOCTYPE html> <html> <head> <title></title> &
移動Web前端,遊客點選商品的收藏按鈕,登入完成,回來之後,如何自動收藏
我們都知道,移動Web端(M站環境下),很多時候,前端是無法判斷使用者的登入狀態的,因為出於安全性考慮,與賬號相關的cookie欄位一般都是 http-only的。 如果前端想判斷使用者的登入狀態,需要主動去調後臺介面,根據後臺介面返回的狀態碼來判斷。 那麼,我如果想實現下面這樣一個場景,該怎麼做呢? 移動
ViewPager輪播圖:自動無限輪播,手指長按停止,實現點選事件(實用版)
此Demo是自定義的viewpager,實現功能如下:無限自動輪播,pager點選事件處理,手指長按停止自動輪播,手指擡起恢復自動輪播; 幾乎可以滿足目前專案中的要求;大家可以直接使用; 整個Demo分兩大類,一個是自定義的ViewPager,一個是MainActivi
Javascript和jquery事件--點選事件和觸發超連結
前面的不過是一些基礎的知識,真正的一些事件還是有點不同。還有一些名稱空間的問題。不過現在ie也開始接受W3C標準,而且平時開發也很少考慮ie了,一些事件就不考慮ie了。 點選事件--click 大部分問題出現在js、jq觸發超連結上面。我之前看到的解釋是谷歌新版本阻止了觸發瀏覽器預設的操作(超連結、右
通過滾動條向下滾動時,DIV廣告自動跟著向下滾動,並且點選置頂
<html> <head> <title></title> <script src="../Scripts/jquery-1.4.1.min.js" type="text/javascript"></script>
javascript中防止重複點選、防止點選過快實用方法
防止重複點選可以新增一個開關,讓這個開關預設為true,第一次點選將其變為false,點選事件的執行需要判斷這個開關是否為true,為true執行,false不執行。例子如下:var isclick= true; function click(){ if(isclic
javascript 學習 右鍵點選事件 不要瀏覽器的右鍵工具欄
1,效果 2,程式碼 <!doctype html> <head> <meta charset="utf-8"/> <style> #click-co
JavaScript | 阻止預設事件 點選按鈕後input框不失去焦點
想實現一個登入介面常用的效果:點選按鈕後切換input框的顯示/隱藏密碼 首先想到的是,在按鈕的點選事件裡呼叫focus()使input獲得焦點,程式碼如下: <body> <i
javascript 模擬的滑鼠點選事件
做專案遇到一個問題,按鈕的點選效果是用css3來實現的,javascript 從後臺獲取到資料之後需要將按鈕設定成已點選狀態。如果直接用javascript來修改css效果的話會非常麻煩,可以用.click()方法來實現滑鼠點選事件,即document.getElementB
js 實現間隔相同時間自動觸發兩個按鈕的點選事件,兩個按鈕觸發事件時間間隔一樣,然後迴圈
問題: function clickTuo() { $("#ffimg1").trigger("click"); }; function clickTuo2() {
如果你是第一次接觸Python當中的面向物件,請點選進來。
2018年7月29日15:49:49 今天有時間寫一篇關於Python面向物件入門的文章,其實面向物件是不屬於某一門程式語言的,而是一種程式設計思想,如果你是第一次接觸面向物件,你需要弄懂下面幾個問題: 什麼是面向物件,為什麼要使用面向物件? 什麼是類,為什麼要使用類?
平移動畫,點選某個控制元件讓一個view收縮到右邊螢幕,再點選展開。
最近做了一個需求。就是點選一個箭頭 ,讓一個view收縮到右邊螢幕,再點選這個View展開,其實看是收縮,其實是平移,讓這個View平移View.getWidth的寬度,同時把這個View的座標也平移過去(不平移座標,點選監聽會還在原來的位置),再讓這個View平移 —View.getW
按home鍵,再次點選頁面按鈕,回到退出頁面
第一步:去除application中的 android:launchMode=“singleTask” 第二步:然後新增:android:alwaysRetainTaskState=“true” (作用:是否保持原來的狀態。當我們按HOME鍵返回桌面,"true"表示任務棧的狀
相容IE8的,頁面點選繫結
情況:繫結整個頁面點選事件時,IE8失效,所以做了以下相容 程式碼: 第一種:(else內的方式繫結,只有谷歌等瀏覽器可以,IE8不可以) //判斷是否為IE8(showModalDialog為IE8特有彈窗方法) if(window.showModalDialog){ &
Js實現抽獎轉盤,和點選返回某個模組頂部的功能
最近寫了幾個轉盤抽獎的活動頁面: 1.設定旋轉的角度: HTML部分:轉盤程式碼: <div class="lottery"> <div class="lottery_box"> <di