JavaScript Copy to Clipboard
로빈아빠
본문
<textarea id=t1>복사할 텍스트</textarea>
<script>
// Clipboard Copy Alert
function copy_text()
{
if (window.event)
{
window.event.returnValue = true;
window.setTimeout('copy_text2()', 25);
}
}
function copy_text2()
{
if (window.clipboardData) // IE
{
var result = window.clipboardData.setData('Text', document.getElementById("t1").innerText );
alert ("텍스트가 복사되었습니다. 붙여넣기(Ctrl + V)하면 됩니다.");
}
}
</script>
<input type="button" value="복사" onclick="javascript:copy_text();">
========================================================
또 다른 소스
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=EUC-KR">
<script language="javascript" type="text/javascript">
<!--
function copy(div_id) {
var inElement = document.getElementById( div_id );
var meintext = inElement.innerHTML ;
inElement.focus();
inElement.select();
if (window.clipboardData){
// the IE-manier
window.clipboardData.setData("Text", meintext);
// waarschijnlijk niet de beste manier om Moz/NS te detecteren;
// het is mij echter onbekend vanaf welke versie dit precies werkt:
}else if (window.netscape){
// dit is belangrijk maar staat nergens duidelijk vermeld:
// you have to sign the code to enable this, or see notes below
netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect');
// maak een interface naar het clipboard
var clip = Components.classes['@mozilla.org/widget/clipboard;1'].createInstance(Components.interfaces.nsIClipboard);
if (!clip) return;
// maak een transferable
var trans = Components.classes['@mozilla.org/widget/transferable;1'].createInstance(Components.interfaces.nsITransferable);
if (!trans) return;
// specificeer wat voor soort data we op willen halen; text in dit geval
trans.addDataFlavor('text/unicode');
// om de data uit de transferable te halen hebben we 2 nieuwe objecten nodig om het in op te slaan
var str = new Object();
var len = new Object();
var str = Components.classes["@mozilla.org/supports-string;1"].createInstance(Components.interfaces.nsISupportsString);
var copytext=meintext;
str.data=copytext;
trans.setTransferData("text/unicode",str,copytext.length*2);
var clipid=Components.interfaces.nsIClipboard;
if (!clip) return ;
clip.setData(trans,null,clipid.kGlobalClipboard);
}
alert('done');
return ;
}
//-->
</script>
</head>
<body>
<a href="javascript:copy('test');">click</a>
<textarea id="test" >
some text here!!===========
</textarea>
</body>
</html>
관련링크
댓글목록
등록된 댓글이 없습니다.