aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB
diff options
context:
space:
mode:
authorDavid M <davidmj@users.sourceforge.net>2007-04-03 14:50:53 +0000
committerDavid M <davidmj@users.sourceforge.net>2007-04-03 14:50:53 +0000
commiteebe6a642e2107d05762a2bbda6284bc2e644831 (patch)
treecdda7876dbed839ee484718ce88de656bfbb909c /phpBB
parent998c31345e2d5f1792cd4995ad42cd7a608c71f0 (diff)
downloadforums-eebe6a642e2107d05762a2bbda6284bc2e644831.tar
forums-eebe6a642e2107d05762a2bbda6284bc2e644831.tar.gz
forums-eebe6a642e2107d05762a2bbda6284bc2e644831.tar.bz2
forums-eebe6a642e2107d05762a2bbda6284bc2e644831.tar.xz
forums-eebe6a642e2107d05762a2bbda6284bc2e644831.zip
#9558
#8702 git-svn-id: file:///svn/phpbb/trunk@7274 89ea8834-ac86-4346-8a33-228a782c2dd0
Diffstat (limited to 'phpBB')
-rw-r--r--phpBB/styles/prosilver/template/forum_fn.js36
1 files changed, 28 insertions, 8 deletions
diff --git a/phpBB/styles/prosilver/template/forum_fn.js b/phpBB/styles/prosilver/template/forum_fn.js
index ad7e3fbc8e..8c619b8f81 100644
--- a/phpBB/styles/prosilver/template/forum_fn.js
+++ b/phpBB/styles/prosilver/template/forum_fn.js
@@ -183,20 +183,40 @@ function selectCode(a)
// Get ID of code block
var e = a.parentNode.parentNode.getElementsByTagName('CODE')[0];
- if (document.selection)
+ // Not IE
+ if (window.getSelection)
{
- var r = document.body.createTextRange();
- r.moveToElementText(e);
- r.select();
+ var s = window.getSelection();
+ // Safari
+ if (s.setBaseAndExtent)
+ {
+ s.setBaseAndExtent(e, 0, e, 1);
+ }
+ // Firefox and Opera
+ else
+ {
+ var r = document.createRange();
+ r.selectNodeContents(e);
+ s.removeAllRanges();
+ s.addRange(r);
+ }
}
- else
+ // Some older browsers
+ else if (document.getSelection)
{
- var s = window.getSelection();
+ var s = document.getSelection();
var r = document.createRange();
- r.setStartBefore(e);
- r.setEndAfter(e);
+ r.selectNodeContents(e);
+ s.removeAllRanges();
s.addRange(r);
}
+ // IE
+ else if (document.selection)
+ {
+ var r = document.body.createTextRange();
+ r.moveToElementText(e);
+ r.select();
+ }
}
/**