• Страница 1 из 2
  • 1
  • 2
  • »
Модератор форума: -SAM-  
Форум » Веб-разработка » Вопросы про uCoz » Код: Выделить все не стал работать (Как писать код и сразу видеть результат по одному клику)
Код: Выделить все не стал работать
Kosten
Вторник, 16 Мая 2017 | Сообщение 1
Оффлайн
Администраторы
Сообщений:44342
Награды: 70
Заметил, что код выделить все не стал работать, стоял в низ сайта, но явно больше года работал, сейчас не выделяет. Думал в коде дело, и убрал его, но потом поставил на тестовый, там все работает.

В чем может быть причина?

Код
<!-- <Выделить код> -->
<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){
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(/>Код</g,'>Код: <a href="#" onclick="selectCode(this);return false;">выделить всё<\/a><').replace('<!--uzc-->','<!--uzc--><code>').replace('<!--\/uzc-->','<\/code><!--\/uzc-->');
codediv[i].innerHTML=s;}}
</script>
<!-- </Выделить код> -->
Страна: (RU)
First-1
Вторник, 16 Мая 2017 | Сообщение 2
Оффлайн
Пользователи
Сообщений:716
Награды: 22
Kosten, да как бы работает, и тут на форуме и в материале.
Страна: (UA)
Kosten
Вторник, 16 Мая 2017 | Сообщение 3
Оффлайн
Администраторы
Сообщений:44342
Награды: 70
First, он работает на всех браузерах, кроме хрома от гугл.
Страна: (RU)
Kosten
Вторник, 16 Мая 2017 | Сообщение 4
Оффлайн
Администраторы
Сообщений:44342
Награды: 70
First, убрал эту функцию, можно как то Код убрать или запретить стилями.
Страна: (RU)
Kosten
Вторник, 16 Мая 2017 | Сообщение 5
Оффлайн
Администраторы
Сообщений:44342
Награды: 70
Все решил, запретил стилями Код который по умолчанию идет.

Код
/*=== Запрет коде ===*/
.bbCodeName {display:none;}
Страна: (RU)
Kosten
Вторник, 16 Мая 2017 | Сообщение 6
Оффлайн
Администраторы
Сообщений:44342
Награды: 70
Вообщем, как понял, браузер хром обновился и эта функция приказала долго жить на этом браузере, на остальных работает корректно, но убрал, большой код и на главной, можно скопировать без него.
Страна: (RU)
Kolinkor
Вторник, 16 Мая 2017 | Сообщение 7
Оффлайн
Vip
Сообщений:306
Награды: 1
Не только здесь Хром на выделить все не реагирует, проверил на одном сайте, также не работает.
Страна: (RU)
Kosten
Вторник, 16 Мая 2017 | Сообщение 8
Оффлайн
Администраторы
Сообщений:44342
Награды: 70
Вообщем нашел один код, который будет работать на хром обновленном, это выделить все, а точнее открыть в новой вкладке, что откроется новое окно и копировать можно.



На странице материалов и комментариев к нему каталога файлов после MESSAGE вставляем:

Код
<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){    
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="#" style="color:#fff;" onclick="selectCode(this);return false;">Выделить всё<\/a> (Копировать Ctrl+C)<').replace('<!--uzc-->','<!--uzc--><code>').replace('<!--\/uzc-->','<\/code><!--\/uzc-->');    
codediv[i].innerHTML=s;}}    
</script>
<script type="text/javascript">    
$('.codeMessage').each(function(){$(this).html('<a class="Lnk" style="float:right" href="javascript://" onclick="var win=window.open(\'/\');win.document.body.innerHTML=\'<style>.Lnk {display: none}</style>\'+$(this).parent().html();win.window.stop();"><b>Открыть в новом окне</b></a>' + $(this).html())};)
</script>
Прикрепления: 5328174.png (27.1 Kb)
Страна: (RU)
Kosten
Вторник, 16 Мая 2017 | Сообщение 9
Оффлайн
Администраторы
Сообщений:44342
Награды: 70
Также по клику выделить все не будет работать на хроме, его название "Выделение текста при клике на JQuery" что установлен на многих сайтах, как пример Yraa, только на других браузерах работает.
Страна: (RU)
-SAM-
Вторник, 16 Мая 2017 | Сообщение 10
Оффлайн
Друзья сайта
Сообщений:882
Награды: 40
Зря убрали - нужно исходя из требований большинства поступать, а не исходя из того, что на каком-то браузере обновленном оно работать перестало. Если не ошибаюсь, то у админа Webmaster-uCoz видел еще вариант, что просто клик на область кода - он выделяется, проверьте на работоспособность... а без выделения - вообще не айс теперь.

UPD.:
Цитата Kosten ()
Но как понимаю, так как на Yraa
Ага, вот выкладывали и повтор.




Помог? Скажи спасибо в виде "+" - вам мелочь, а мне приятно.
Бесплатное оказание помощи в ответах на "Вопросы про uCoz".


Сообщение отредактировал
-SAM- - Вторник, 16 Мая 2017, 17:29
Страна: (UA)
Sтранник
Вторник, 16 Мая 2017 | Сообщение 11
Оффлайн
Заблокированные
Сообщений:209
Награды: 4
Kosten, На яндекс браузере, тоже не работал сегодня утром, первый раз появился белый цвет, а когда обновил страницу ctrl + f5 , тогда полностью исчез, кнопка выделить. 07a 41b

Khabib 'web' Master
Страна: (RU)
Kosten
Вторник, 16 Мая 2017 | Сообщение 12
Оффлайн
Администраторы
Сообщений:44342
Награды: 70
Цитата -SAM- ()
Webmaster-uCoz видел еще вариант

Но как понимаю, так как на Yraa, а там посмотрел, также не работает.
Страна: (RU)
Kosten
Вторник, 16 Мая 2017 | Сообщение 13
Оффлайн
Администраторы
Сообщений:44342
Награды: 70
Цитата Sтранник ()
Kosten, На яндекс браузере

Не знаю как на нем, скачивал и устанавливал его, не понравился, снес.

Есть еще Uran, в контакте на группу подписан, так еле родили обновление, все на хромиум, браузеров много, обновлений нет, а хром, он даже уже и пароли не сохраняет в админ панели.
Страна: (RU)
First-1
Вторник, 16 Мая 2017 | Сообщение 14
Оффлайн
Пользователи
Сообщений:716
Награды: 22
Цитата -SAM- ()
просто клик на область кода - он выделяется
Как по мне так лучше вообще без такого вот выделения, так как часто беру часть кода а не весь.
Страна: (UA)
Slavik
Вторник, 16 Мая 2017 | Сообщение 15
Оффлайн
Vip
Сообщений:1767
Награды: 4
Кому нужен код, он два раза тыкнет на него мышкой 11a

MIR-HACK.RU - Добро пожаловать в мир читов!
Страна: (RU)
Форум » Веб-разработка » Вопросы про uCoz » Код: Выделить все не стал работать (Как писать код и сразу видеть результат по одному клику)
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск: