blob: c3e61bc3b0cdac57d145731e25d24fe33ab32ecc (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
|
// 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) {}
}
|