From eebe6a642e2107d05762a2bbda6284bc2e644831 Mon Sep 17 00:00:00 2001 From: David M Date: Tue, 3 Apr 2007 14:50:53 +0000 Subject: [PATCH] #9558 #8702 git-svn-id: file:///svn/phpbb/trunk@7274 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/styles/prosilver/template/forum_fn.js | 38 ++++++++++++++++----- 1 file changed, 29 insertions(+), 9 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 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); + } + } + // Some older browsers + else if (document.getSelection) + { + var s = document.getSelection(); + var r = document.createRange(); + r.selectNodeContents(e); + s.removeAllRanges(); + s.addRange(r); + } + // IE + else if (document.selection) { var r = document.body.createTextRange(); r.moveToElementText(e); r.select(); } - else - { - var s = window.getSelection(); - var r = document.createRange(); - r.setStartBefore(e); - r.setEndAfter(e); - s.addRange(r); - } } /**