Javascript 在复制文本的底部添加短语

Javascript 在复制文本的底部添加短语,javascript,Javascript,有人能帮忙吗 下面的代码只需单击一个按钮即可从div复制文本 现在我需要在每次复制文本的底部添加网站url吗 我正在帮助我的一个朋友,他问我这件事。我想不出来( 这是一个非常复杂的代码,不知道是谁创建的,但现在我需要一些修改。请帮助我 切瓦尔 Java脚本 JS是未来。 复制文本 创建任意数量的元素,并按名称进行匹配。 复制文本 按钮和元素不需要彼此靠近。 复制文本 他们可以有你想要的任何其他课程。 复制文本 复制文本 您不需要使用textarea,例如,这是一个div

有人能帮忙吗

下面的代码只需单击一个按钮即可从div复制文本

现在我需要在每次复制文本的底部添加网站url吗

我正在帮助我的一个朋友,他问我这件事。我想不出来(

这是一个非常复杂的代码,不知道是谁创建的,但现在我需要一些修改。请帮助我


切瓦尔
Java脚本

JS是未来。 复制文本

创建任意数量的元素,并按名称进行匹配。 复制文本

按钮和元素不需要彼此靠近。 复制文本

他们可以有你想要的任何其他课程。 复制文本

复制文本

您不需要使用
textarea
,例如,这是一个
div
! 复制文本

//@license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt gpl-v2-或更高版本 /*!cheval v1.1.0由ryanpcmcquen编写*/ //Ryan P.C.McQuen | Everett,华盛顿州ryanpcmcquen@member.fsf.org // //此程序是免费软件:您可以重新发布和/或修改它 //它是根据GNU通用公共许可证的条款发布的 //自由软件基金会;许可证的第2版;或 //(由您选择)任何更高版本,但以下情况除外: //GPL许可证的文本可以省略。 // //这个程序的发布是希望它会有用,但是 //没有任何保证;甚至没有对 //适销性或适合某一特定目的。编译, //解释、执行或仅仅读取程序的文本 //可能导致意识缺失和/或非常存在,直至和 //包括所有存在和我们所知道的宇宙的终结。 //有关更多详细信息,请参阅GNU通用公共许可证。 // //您可能已经收到了GNU通用公共许可证的副本 //使用此程序(很可能是名为COPYING的文件)。如果不是,请参阅 // . /*全局窗口*/ /*jslint浏览器:true*/ (功能(){ “严格使用”; var textClassName=“要复制的文本”; var buttonClassName=“js copy btn”; var allowButtonTextToChange=true; var afterCopyText={ 桌面:“已复制!”, iPad:“现在点击文本,然后‘复制’, iPhoneOriPod:“现在点击‘复制’”, oldSafari:“按Command+C复制”, 不支持:“请手动复制” }; 变量集={}; var regexBuilder=函数(前缀){ 返回新的RegExp(前缀+“\\S*”); }; addEventListener(“DOMContentLoaded”,function()){ var text=Array.prototype.slice.call(document.querySelectorAll( “[class*=”+textClassName+“]”” )); var buttons=Array.prototype.slice.call(document.querySelectorAll( “[class*=”+按钮类名+“]”” )); var classNameFinder=函数(arr、正则表达式、名称前缀){ 返回arr.map(函数(项){ 返回(item.className.match(regex))? item.className .match(regex)[0]。替换( 名称前缀, "" ) : 虚假的; }).sort(); }; sets.text=classNameFinder( 文本, regexBuilder(textClassName), textClassName ); sets.buttons=classNameFinder( 按钮, regexBuilder(按钮类别名称), 按钮类名 ); var matches=set.text.map(函数(忽略,索引){ 返回集合.文本[索引].匹配(集合.按钮[ 指数 ]); }); var throwErr=功能(错误){ 抛出新错误(err); }; var iPhoneORiPod=false; var=false; var oldSafari=false; var navAgent=window.navigator.userAgent; 如果( 测试(导航代理) //^Fancy safari检测,这得益于:https://stackoverflow.com/a/23522755 && !(/^((?!chrome)。*[0-9][0-9](\[0-9][0-9]?)?\ssafari/i) .测试(导航代理) //^得益于regex,即使是更喜欢的野生动物园也能检测到<10个。^) ) { oldSafari=true; } //我们需要测试旧的Safari和设备, //因为奇怪的令人敬畏。 if(navAgent.match(/iPhone | iPod/i)){ iPhoneORiPod=true; }else if(navAgent.match(/iPad/i)){ iPad=true; } var cheval=函数(btn,文本){ var copyBtn=document.querySelector(btn); var setCopyBtnText=函数(textToSet){ copyBtn.textContent=textToSet; }; if(iPhoneORiPod | | iPad){ if(oldSafari){ setCopyBtnText(“选择文本”); } } 如果(copyBtn){ copyBtn.addEventListener(“单击”,函数(){ var oldPosX=window.scrollX; var oldPosY=window.scrollY; //克隆文本以复制节点,以便 //创建一个隐藏的文本区域及其文本值。 //感谢@LeaVerou的创意。 var originalCopyItem=document.querySelector( 文本 ); var dollytheep=originalCopyItem.cloneNode(true); var copyItem=document.createElement( “文本区域” ); copyItem.style.opacity=0; copyItem.style.position=“绝对”; //如果.value未定义,.textContent将 //分配到我们制作的文本区域。 var copyValue=dollyTheSheep.value|| dollytheep.textContent; copyItem.value=复制
copyItem.value = copyValue;
copyValue += "Copyright by foo bar";