可能重复:
如何在 JavaScript 中复制到剪贴板?
我有一个html markup
多数民众赞成在回响并被包裹在一个textarea
和它也是一个只读像这样:
<textarea rows="4" cols="70" readonly="readonly">text with markup goes here.</textarea>
当用户单击只读文本区域内容时,我该如何做到这一点,它将被自动选择并复制到剪贴板并通知它已经复制?
可能重复:
如何在 JavaScript 中复制到剪贴板?
我有一个html markup
多数民众赞成在回响并被包裹在一个textarea
和它也是一个只读像这样:
<textarea rows="4" cols="70" readonly="readonly">text with markup goes here.</textarea>
当用户单击只读文本区域内容时,我该如何做到这一点,它将被自动选择并复制到剪贴板并通知它已经复制?
PHP 是服务器端的,因此您将无法与客户端交互。就客户端而言,javascript 可以做一些事情。坏消息是,据我回忆,Firefox 不再允许这样做(我记得看到一些关于 TinyMCE 剪贴板功能的争论),所以你可能需要一些混合 flash 和 js 的东西才能完全交叉-浏览器解决方案。
因此,我可以建议http://code.google.com/p/zeroclipboard/作为一种可能性吗?
你为什么要 PHP,试试这个:
function copy(inElement) {
if (inElement.createTextRange) {
var range = inElement.createTextRange();
if (range)
range.execCommand('Copy');
} else {
var flashcopier = 'flashcopier';
if(!document.getElementById(flashcopier)) {
var divholder = document.createElement('div');
divholder.id = flashcopier;
document.body.appendChild(divholder);
}
document.getElementById(flashcopier).innerHTML = '';
var divinfo = '<embed src="_clipboard.swf" FlashVars="clipboard='+encodeURIComponent(inElement.value)+'" width="0" height="0" type="application/x-shockwave-flash"></embed>';
document.getElementById(flashcopier).innerHTML = divinfo;
}
}
<form name="formtocopy" action="" >
<textarea name="texttocopy" disabled="disabled">
A whole bunch of text here that will be copied.
</textarea>
<br>
<a href="javascript:copy(document.formtocopy.texttocopy);">Copy the Text!</a>
</form>