首页 > 求教一个js拷贝文本的问题

求教一个js拷贝文本的问题

就是简单的点击拷贝,好像很多网站都有复制代码这个按钮。但是好像说很多浏览器不支持,要用flash,现在这个问题一般都是怎么解决的


he JavaScript document.execCommand('copy') support has grown, see the links below for browser updates:

IE10+ (although this document indicates some support was there from IE5.5+).
Google Chrome 43+ (~April 2015)
Mozilla Firefox 41+ (shipping ~September 2015)
Opera 29+ (based on Chromium 42, ~April 2015)
Simple Example
var copyTextareaBtn = document.querySelector('.js-textareacopybtn');

copyTextareaBtn.addEventListener('click', function(event) {
var copyTextarea = document.querySelector('.js-copytextarea');
copyTextarea.select();

try {

var successful = document.execCommand('copy');
var msg = successful ? 'successful' : 'unsuccessful';
console.log('Copying text command was ' + msg);

} catch (err) {

console.log('Oops, unable to copy');

}
});


<textarea class="js-copytextarea">Hello I'm some text</textarea>


<button class="js-textareacopybtn">Copy Textarea</button>

详见http://stackoverflow.com/questions/400212/how-do-i-copy-to-the-clipboard-in-javascript


long ago都是需要引入flash通过调用flash的api访问clipboard的,巨恶心..既然现在abobe自己都不推荐flash了,自然有办法。

https://zenorocha.github.io/clipboard.js/
depende on Selection and document.execCommand API


<SCRIPT>
function CopyAll(T)
{
T.focus()
T.select()
if (document.all){
therange=T.createTextRange()
therange.execCommand("Copy") //复制
}
}
</SCRIPT>
<INPUT TYPE="BUTTON" VALUE="复制" onclick="CopyAll(text1)" >
<TEXTAREA NAME="text1" COLS="40" ROWS="5">(内容测试)</TEXTAREA>
<TEXTAREA  COLS="40" ROWS="5">(你可以在这里粘帖内容)</TEXTAREA>
【热门文章】
【热门文章】