묻고답하기
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
모질라에서 클립보드로 데이터 넣는 자바 스크립트가 있나요?
2004.04.29 18:36
방법 혹시 아시는 분 알려주시면 고맙겠습니다.
IE에서는 ClipBoardData나 execCommand('copy') 등을 이용해서 할 수 있습니다.
아무리 찾아봐도 모질라에서 쓸 수 있는 코드를 모르겠네요.
아시는 분의 도움에 미리 감사드립니다. ^^
IE에서는 ClipBoardData나 execCommand('copy') 등을 이용해서 할 수 있습니다.
아무리 찾아봐도 모질라에서 쓸 수 있는 코드를 모르겠네요.
아시는 분의 도움에 미리 감사드립니다. ^^
function copy_clip(meintext)
{
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 false;
clip.setData(trans,null,clipid.kGlobalClipboard);
}
window.alert('클립보드에 저장되었습니다.');
return false;
}