|
// Hook-up to the document.body.oncopy event,
// or in the <body>'s "oncopy" attribute.
// Author: Heath Stewart
function copyCode()
{
try
{
var range = document.selection.createRange();
if (document.selection.type != "none")
{
var parent = range.parentElement();
var parentName = parent.tagName;
if (parentName != null)
{
if (parentName.toLowerCase() == "pre")
{
// Replace superfluous <br> tags in a <pre> block.
var re = /<br[^>]*>/gi;
var code = range.htmlText.replace(re, "\r\n");
// Replace non-breaking spaces.
re = / /gi;
code = code.replace(re, " ");
// Replace & characters.
re = /&/gi;
code = code.replace(re, "&");
// Replace < characters.
re = /</gi;
code = code.replace(re, "<");
// Replace > characters.
re = />/gi;
code = code.replace(re, ">");
// CJM: Remove colorization
re = /<\/?span([^>])*>/gi;
code = code.replace(re, "");
if (code != null)
{
window.event.returnValue = false;
window.clipboardData.setData("Text", code);
}
}
}
}
}
catch(e) {}
}
|
By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.
If a file you wish to view isn't highlighted, and is a text file (not binary), please
let us know and we'll add colourisation support for it.
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.