Вебдизайн и Техническая поддержка
Skype: disbb.ru
Контакты: обратная связь
Часы работы:
Пн-Пт 10:00-18:00
* по московскому времени


Выделение и копирование кода по клику (mkusher, Deff)


Скриншот

  • Два скрипта, позволяющих быстро выделять и копировать текст в блоке [code] сообщения.
  • Демо
  • Автор: mkusher, Deff
  • Платформа: MyBB
  • Категория: Сообщения (посты) на форуме
  • Оценка: 5.0/1

  • Скачать (6.1 Kb)
  • 02.08.2015, 17:41

Скриншот

Выделение кода по клику © mkusher

Часто бывает неудобно на форумах выделять код, эти полосы прокрутки вечно мешают и плохо крутятся =(
Данный скрипт заменяет слово Код: вверху блока с кодом, на ссылку, по клику на который выделяется все содержимое блока с кодом
Код
<script type="text/javascript">
function select_text(elem) {
  if(window.getSelection) {  
var s=window.getSelection();  
if(s.setBaseAndExtent){  
  s.setBaseAndExtent(elem,0,elem,elem.innerText.length-1);  
}
else {  
  var r=document.createRange();  
  r.selectNodeContents(elem);  
  s.removeAllRanges();  
  s.addRange(r);
}  
  }
  else if(document.getSelection){  
var s=document.getSelection();  
var r=document.createRange();  
r.selectNodeContents(elem);  
s.removeAllRanges();  
s.addRange(r);  
  }
  else if(document.selection){  
var r=document.body.createTextRange();  
r.moveToElementText(elem);  
r.select();
  }  
}
</script>
<script type="text/javascript">
var div = document.getElementById('pun-main').getElementsByTagName('div');
for(x in div){
  if(div[x].className=='code-box'){
div[x].getElementsByTagName('strong')[0].innerHTML = '<a href="#" onclick="select_text(this.parentNode.parentNode.childNodes[1].getElementsByTagName(\'pre\')[0]); return false;">Выделить код</a>';
  }
}
</script>

Для разработчиков - функция select_text( var DOM_object) принимает любой DOM объект и создает выделение в нем (если передать функции document.body то выделится вся страница)

Копирование в буфер обмена содержимого блоков код и
текстов cообщений при отправке/предпросмотре © Deff

На Демо-сайте кликните на код в блоке код и попробуйте набить текст в поле ответа и отправить сообщение.
После попытки отправки сообщения (несмотря на фразу: из несанкционированного источника) у Вас в буфере обмена остаётся полный текст отправляемого сообщения).
В HTML верх
Цитата
<script>var swf_file='http://designforum.bestff.ru/files/000c/c1/da/68352.swf'</script>
<script type="text/javascript" src="http://designforum.bestff.ru/files/000c/c1/da/98903.js"></script>
<script type="text/javascript" src="http://hostjs-mybb2011.narod.ru/js/mybbCopy_toClipboard.js"></script>
<style type="text/css">
.punbb .code-box strong a{
color:#2B6D9F;
}
.code-box strong:hover a{
text-decoration:none;
color:#000;
}
</style>

Синим стиль для выделения кликабельной части в блоке "Код"
С ИЕ как всегда проблемы: если у всех можно копировать по умолчанию, у этого только после положительного ответа на вопрос.
Теги: скрпит, mkusher, mybb, Сообщения (посты) на форуме, Deff

Просмотров: 918, Загрузок: 29, Оценка: 5.0 (1)
Страницы:
Имя *:
Email *:
Код *:
Сайт создан в системе uCoz