in src/components/nms/msdoc/1.6.0/vs2005/Output/scripts/script_manifold.js [741:801]
function CopyCode(key)
{
var trElements = document.getElementsByTagName("tr");
var i;
for(i = 0; i < trElements.length; ++i)
{
if(key.parentNode.parentNode.parentNode == trElements[i].parentNode)
{
if (window.clipboardData)
{
// the IE-manner
window.clipboardData.setData("Text", trElements[i].innerText);
}
else if (window.netscape)
{
// Gives unrestricted access to browser APIs using XPConnect
try
{
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
}
catch(e)
{
alert("Universal Connect was refused, cannot copy to " +
"clipboard. Go to about:config and set " +
"signed.applets.codebase_principal_support to true to " +
"enable clipboard support.");
return;
}
// Creates an instance of nsIClipboard
var clip = Components.classes['@mozilla.org/widget/clipboard;1'].createInstance(Components.interfaces.nsIClipboard);
if (!clip) return;
// Creates an instance of nsITransferable
var trans = Components.classes['@mozilla.org/widget/transferable;1'].createInstance(Components.interfaces.nsITransferable);
if (!trans) return;
// register the data flavor
trans.addDataFlavor('text/unicode');
// Create object to hold the data
var str = new Object();
// Creates an instance of nsISupportsString
var str = Components.classes["@mozilla.org/supports-string;1"].createInstance(Components.interfaces.nsISupportsString);
//Assigns the data to be copied
var copytext = trElements[i].textContent;
str.data = copytext;
// Add data objects to transferable
trans.setTransferData("text/unicode",str,copytext.length*2);
var clipid = Components.interfaces.nsIClipboard;
if (!clip) return false;
// Transfer the data to clipboard
clip.setData(trans,null,clipid.kGlobalClipboard);
}
}
}
}