菜鸡源码,专注精品下载!
当前位置:首页 > 建站教程 > 建站知识

JavaScript复制网页内容教程

发布时间:2024-01-05  栏目:建站知识   浏览:   分类:js教程

要复制网页内容,可以使用JavaScript的`document.execCommand('copy')`方法。首先,需要创建一个临时的textarea元素,将需要复制的内容设置为其值,然后将其插入到页面中。接着,选中这个临时的textarea元素,调用`document.execCommand('copy')`方法执行复制操作。最后,将临时的textarea元素从页面中移除。以下是一个简单的示例代码: ```javascript function copyTextToClipboard(text) { const tempTextarea = document.createElement('textarea'); tempTextarea.value = text; document.body.appendChild(tempTextarea); tempTextarea.select(); document.execCommand('copy'); document.body.removeChild(tempTextarea); } // 使用示例: const contentToCopy = '这里是需要复制的内容'; copyTextToClipboard(contentToCopy); ```

Async Clipboard API方法

HTML5新增的方法,无需引入第三方插件,直接就可以复制内容。低版本的浏览器可能会不兼容。

constpromise=navigator.clipboard.writeText(newClipText);

方法的返回值是个 Promise。并且使用此方法时,页面必须处于 focus 状态,否则会报错。

覆写copy 事件方法

//Overwritewhatisbeingcopiedtotheclipboard.document.addEventListener('copy',function(e){//e.clipboardDataisinitiallyempty,butwecansetittothe//datathatwewantcopiedontotheclipboard.e.clipboardData.setData('text/plain','西炒蛋');//Thisisnecessarytopreventthecurrentdocumentselectionfrom//beingwrittentotheclipboard.e.preventDefault();});

Document.execCommandAPI方法

<pid="content">123456</p><buttonid="copyButton">复制</button>

复制div元素内容

constcopyButton=document.getElementById('copyButton');constcontent=document.getElementById('content');copyButton.addEventListener('click',function(){constselection=window.getSelection();constrange=document.createRange();//缓存用户选中的内容constcurrentRange=selection.rangeCount===0?null:selection.getRangeAt(0);//设置文档片段range.selectNodeContents(content);//清空选中内容selection.removeAllRanges();//将文档片段设置为选中内容selection.addRange(range);try{//复制到剪贴板document.execCommand('copy');}catch(err){//提示复制失败}finally{selection.removeAllRanges();if(currentRange){//还原用户选中内容selection.addRange(currentRange);}}});

复制input元素内容

constcopyButton=document.getElementById('copyButton');constinputEl=document.getElementById('input');copyButton.addEventListener('click',function(){constselection=window.getSelection();constcurrentRange=selection.rangeCount===0?null:selection.getRangeAt(0);//选中input内容inputEl.select();//复制到剪贴板try{document.execCommand('copy');}catch(err){//提示复制失败//。。。}finally{selection.removeAllRanges();if(currentRange){//还原用户选中内容selection.addRange(currentRange);}}});


相关文章

    无相关信息
评论
建站知识
建站知识
使用技巧
调试安装
运营推广