Maison >développement back-end >tutoriel php >javascript - 求教一个js拷贝文本的问题
就是简单的点击拷贝,好像很多网站都有复制代码这个按钮。但是好像说很多浏览器不支持,要用flash,现在这个问题一般都是怎么解决的
就是简单的点击拷贝,好像很多网站都有复制代码这个按钮。但是好像说很多浏览器不支持,要用flash,现在这个问题一般都是怎么解决的
long ago都是需要引入flash通过调用flash的api访问clipboard的,巨恶心..既然现在abobe自己都不推荐flash了,自然有办法。
https://zenorocha.github.io/clipboard.js/
depende on Selection
and document.execCommand
API
<code class="javascript"><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></code>
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 {
<code>var successful = document.execCommand('copy'); var msg = successful ? 'successful' : 'unsuccessful'; console.log('Copying text command was ' + msg);</code>
} catch (err) {
<code>console.log('Oops, unable to copy');</code>
}
});
详见http://stackoverflow.com/questions/400212/how-do-i-copy-to-the-clipboard-in-javascript