ZorNet.Ru — сайт для вебмастера » Скрипты для uCoz » Скрипт ucoz выделить все для bb-кода

Скрипт ucoz выделить все для bb-кода

Скрипт ucoz выделить все для bb-кода
Теперь информация о скрипте uCoz "Выделить всё" для BB-кода Code. Этот код очень полезный для сайтов с тематикой uCoz, так как на таких сайтах идёт много кодов к скриптам. Этот скрипт можно применить как на Форуме, если у вас там есть коды, но и конечно в Каталоге файлов.

Открываем "подвал" сайта (глобальный блок "Нижняя часть сайта") и код прописываем в самый верх его:

Код
<!-- <Выделить код> -->
<script type="text/javascript">
function selectCode(a){
 var e=a.parentNode.parentNode.getElementsByTagName('code')[0];
if(window.getSelection){
 var s=window.getSelection();
if(s.setBaseAndExtent[0]){
s.setBaseAndExtent(e,0,e,e.innerText.length-1);
}else{
 var r=document.createRange();
r.selectNodeContents(e);
s.removeAllRanges();
s.addRange(r);}
}else if(document.getSelection){
 var s=document.getSelection();
 var r=document.createRange();
r.selectNodeContents(e);
s.removeAllRanges();
s.addRange(r);
}else if(document.selection){
 var r=document.body.createTextRange();
r.moveToElementText(e);
r.select();}}
// Замена Code на Выделить всё...
codediv=document.getElementsByTagName('div');
for(i=0;i<codediv.length;i++){
if(codediv[i].className=="bbCodeBlock"){
s=codediv[i].innerHTML;
s=s.replace(/>(Код|Code)</g,'>Код: <a href="#" onclick="selectCode(this);return false;"><span style="color:#EEEEEE;">Выделить всё</span><\/a><').replace('<!--uzc-->','<!--uzc--><code>').replace('<!--\/uzc-->','<\/code><!--\/uzc-->');
codediv[i].innerHTML=s;}}
</script>
<!-- </Выделить код> -->

На этом всё!

P.S.: идёт полностью рабочий скрипт для Каталога файлов и Форума.
24 Мая 2013 Просмотров: 2502 Комментариев: (2)

Поделиться в социальных сетях

Материал разместил

Комментарии: 2
Kosten
Kosten 09 Мая 2016 03:291
0
Также можно этот установить, который при одном клике выделяет весть текст или код.



Установка:

Вставьте в нижнюю часть шаблона страницы материалов и комментариев к нему:

Код
<script type="text/javascript">      
$('div.codeMessage').click(function() {      
 var e=this;      
if(window.getSelection){      
 var s=window.getSelection();      
if(s.setBaseAndExtent){      
s.setBaseAndExtent(e,0,e,e.innerText.length-1);      
}else{      
 var r=document.createRange();      
r.selectNodeContents(e);      
s.removeAllRanges();
s.addRange(r);}
}else if(document.getSelection){
 var s=document.getSelection();
 var r=document.createRange();
r.selectNodeContents(e);
s.removeAllRanges();
s.addRange(r);
}else if(document.selection){
 var r=document.body.createTextRange();
r.moveToElementText(e);
r.select();}
});
</script>
-SAM-
-SAM- 09 Октября 2021 21:122
0
Здесь код прописали были несколько раз один и тот же, ибо не разбираются в JS. Если брать, то отсюда (там суть расписал подробно).

Можно также попробовать такой вариант:
Код
<!-- <Выделить код> -->
<script type="text/javascript">
function selectCode(a) {
 var e = a.closest('div').querySelector('code');
if (window.getSelection) {
 var s = window.getSelection();
 var r = document.createRange();
r.selectNodeContents(e);
s.removeAllRanges();
s.addRange(r);
} else if (document.selection) { // Для IE
 var r = document.body.createTextRange();
r.moveToElementText(e);
r.select();
}
}

// Замена Code на Выделить всё...
document.addEventListener("DOMContentLoaded", function() {
 var codediv = document.getElementsByTagName('div');
for (var i = 0; i < codediv.length; i++) {
if (codediv[i].className === "bbCodeBlock") {
 var s = codediv[i].innerHTML;
s = s.replace(/>(Код|Code)</g, '>Код: <a href="#" onclick="selectCode(this);return false;"><span style="color:#EEEEEE;">Выделить всё</span></a><').replace('<!--uzc-->', '<!--uzc--><code>').replace('<!--/uzc-->', '</code><!--/uzc-->');
codediv[i].innerHTML = s;
}
}
});
</script>
<!-- </Выделить код> -->

Оставь свой отзыв

avatar