Welcome 微信登录

首页 / 脚本样式 / JavaScript / 复制和粘贴的js代码(IE/FireFox/mozilla/ns)

复制和粘贴的js代码(IE/FireFox/mozilla/ns)2010-01-03Jscript有些属性其实挺好的,可惜就是只是IE支持,比如复制和粘贴的属性

下面这段复制和粘贴的JAVASCRIPT的代码倒是可以支持IE/FireFox/mozilla/ns,,老外站点上看来的

只是在firefox下需要修改一下about:config的一个属性

<script language="javascript" type="text/javascript">
<!--
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);

}
alert("Following info was copied to your clipboard: " + meintext);
return false;
}
//-->
</script>

notes about security:

a cause of the tight security settings in mozilla you have to sign the javascript to make it work another way is to change your firefox/mozilla settings

to do this add this line to your prefs.js file in your firefox/mozilla user profile directory

user_pref("signed.applets.codebase_principal_support", true);

or change it from within the browser with calling the "about:config" page