

10/11
2014
这在萌娘百科注意到的,复制其页面的文字粘贴,会自动多出一段标有出处的话。百度之,找到了代码,兼容主流浏览器。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | function addCopyright() { var Original = "\n转自 saber酱的抱枕 " + location.href; //追加的内容 if ( "function" == typeof window.getSelection) { var c = window.getSelection(); if ( "Microsoft Internet Explorer" == navigator.appName && navigator.appVersion.match(/MSIE ([\d.]+)/)[1] >= 10 || "Opera" == navigator.appName) { var g = c.getRangeAt(0), h = document.createElement( "span" ); h.appendChild(g.cloneContents()), g.insertNode(h); var i = h.innerHTML.replace(/(?:\n|\r\n|\r)/gi, "" ).replace(/<\s*script[^>]*>[\s\S]*?<\/script>/gim, "" ).replace(/<\s*style[^>]*>[\s\S]*?<\/style>/gim, "" ).replace(/<!--.*?-->/gim, "" ).replace(/<!DOCTYPE.*?>/gi, "" ); try { document.getElementsByTagName( "body" )[0].removeChild(h) } catch (f) { h.style.display = "none" , h.innerHTML = "" } } else var d = "" + c; var e = document.getElementsByTagName( "body" )[0], f = document.createElement( "div" ); f.style.position = "absolute" , f.style.left = "-99999px" , e.appendChild(f), f.innerHTML = d.replace(/([^>\r\n]?)(\r\n|\n\r|\r|\n)/g, "$1<br />$2" ) + "<br />" + Original, c.selectAllChildren(f), setTimeout( function () { e.removeChild(f) }, 0) } else if ( "object" == typeof document.selection.createRange) { event.returnValue = !1; var c = document.selection.createRange().text; window.clipboardData.setData( "Text" , c + "\n" + Original) } }; document.body.oncopy = addCopyright; |