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

Также решил, но если кому нужно, то скопируют. Разве, что вывести в отдельное окно можно еще.
Страна: (RU)
-SAM-
Дата: Вторник, 2017-05-16, 16:42 | Сообщение 17
Оффлайн
Друзья сайта
Сообщений:788
Награды: 37
Цитата Slavik ()
Кому нужен код, он два раза тыкнет на него мышкой
Ну, вот раз у вас оно выделяется - я за вас рад (если два раза тыкнуть - ничего не выделиться... вернее выделиться строка, если слева тыкать так, он в первом сообщении темы пробуйте, а если уже не по тексту кликать так, но в области кода - ничего не выделит).
Цитата Kosten ()
Также решил, но если кому нужно, то скопируют. Разве, что вывести в отдельное окно можно еще.
Кому нужно - те и из исходного кода выдерут (а то есть всякие скрипты для "умных" админов, которые требует регу, чтобы увидеть участок кода, кода эти коды по факту по всем сайтам выложены и так - в общем, поняли, от мысли чуть отошёл), а вот без функционала выделения как такового - уже фигня выходит, приходиться листать полностью область кода, выделять... определитесь на каком-то варианте и поставьте (короче, можно было ничего не трогать пока, нежели у всех забирать работоспособный и нужный функционал, фиг знает - может, он после очередного обновления ваших браузеров снова заработает).
Цитата Kosten ()
/*=== Запрет коде ===*/
.bbCodeName {display:none;}
Вообще-то, там было правильно делать так:
Код
.bbCodeName a {display:none;}
Просто не выводить ссылку для выделения кода, когда скрипт этот всё еще подключен, а ваш вариант - это убирает вообще кусок таблицы, где пишется "Код" (разница есть... это тем, кто собрался так же "убирать" выделение).
P.S.: кстати, где-то видел вариант, где в одном скрипте было сразу два варианта этих - что выделение всего и получение кода в окне... UPD.: вот Доступно только для пользователей (не реклама, искал на zornet - исходя из исходного кода не нашёл, много дублей).
UPD. 2: csafrones, да код можно тот ужать через компрессоры и упаковщики (там уже смотреть нужно, чтобы была "золотая середина" по времени загрузи и распаковки, то есть разбора кода браузером... если после упаковки оно будет распаковывать дольше, чем его загружало - нецелесообразно делать такие вещи, как я считаю - просто не в запакованном так и поставить). Без выделения всё же фигово выходит.




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


Сообщение отредактировал
-SAM- - Среда, 2017-05-17, 21:07
Страна: (UA)
csafrones
Дата: Вторник, 2017-05-16, 19:40 | Сообщение 18
Оффлайн
Пользователи
Сообщений:18
Награды: 0
Зачер он нужен, там код на знаков под 2K, лучше поставить по клику. Просто если вы на хрома, это не означает, что все выходят в сеть на нем.
Страна: (RU)
Start
Дата: Среда, 2017-05-17, 21:16 | Сообщение 19
Оффлайн
Проверенные
Сообщений:116
Награды: 2
Kosten, я то думал ска это у меня бл в куках)) а тут у всех такое...
пзц стоял на клик и перестал пахать...


Тити*
Страна: (RU)
Start
Дата: Среда, 2017-05-17, 21:20 | Сообщение 20
Оффлайн
Проверенные
Сообщений:116
Награды: 2
Ребят, как по клику сделать? а то перестало работать в хроме:(

Тити*
Страна: (RU)
Kosten
Дата: Среда, 2017-05-17, 23:23 | Сообщение 21
Оффлайн
Администраторы
Сообщений:39052
Награды: 65
Цитата Start ()
Ребят, как по клику сделать?

По клику работать также не будет!
Страна: (RU)
Start
Дата: Четверг, 2017-05-18, 20:24 | Сообщение 22
Оффлайн
Проверенные
Сообщений:116
Награды: 2
Kosten, может какой-то обход есть, а то печально( тока в опере робит он...

Тити*
Страна: (RU)
-SAM-
Дата: Суббота, 2019-11-09, 06:33 | Сообщение 23
Оффлайн
Друзья сайта
Сообщений:788
Награды: 37
Цитата Start ()
тока в опере робит он
Не совсем, там выше уже написано было в каких браузерах работает, а в каких нет. Кстати, у меня он как работал в Firefox, так и работает. Как ранее и писал, что можно было скрипт не убирать, если не работает в каком-то браузере (версии)... и можно было просто под условные операторы поместить на запрет (то есть прописать там значение для переменных $USER_AGENT$ и $USER_AGENT_VER$). Также я оптимизировал данный код, а еще сделал чтобы срабатывало для Код и Code:
Код
<!-- <Выделить код> -->
<script type="text/javascript"> $('.bbCodeName').text('Код'); //Code
// Select Code from phpBB3 to uCoz ~ http://allcity.net.ru/
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>
<!-- </Выделить код> -->


UPD. от 06.10.2021:
JS:
Код
function selectCode(b){var f=b.parentNode.parentNode.getElementsByTagName("code")[0];if(window.getSelection){var c=window.getSelection();if(c.setBaseAndExtent){c.setBaseAndExtent(f,0,f,f.innerText.length-1)}else{var d=document.createRange();d.selectNodeContents(f);c.removeAllRanges();c.addRange(d)}}else{if(document.getSelection){var c=document.getSelection();var d=document.createRange();d.selectNodeContents(f);c.removeAllRanges();c.addRange(d)}else{if(document.selection){var d=document.body.createTextRange();d.moveToElementText(f);d.select()}}}}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;">Выделить всё</a><').replace("<!--uzc-->","<!--uzc--><code>").replace("<!--/uzc-->","</code><!--/uzc-->");codediv[i].innerHTML=s}}
CSS:
Код
/*=== Code и Выделить всё ===*/
.codeMessage:not(:hover){overflow:hidden!important}
.codeMessage:hover,.codeMessage:focus{overflow:auto!important}
.bbCodeName > a{display:none}
.bbCodeBlock:hover > .bbCodeName > a{display:inline}

@media all and (-webkit-min-device-pixel-ratio:0) and (min-resolution: .001dpcm) {/*запрет для Chrome*/
.bbCodeName a{display:none!important}
}
/*---*/





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


Сообщение отредактировал
-SAM- - Суббота, 2021-10-09, 13:15
Страна: (UA)
Kosten
Дата: Суббота, 2021-10-09, 19:29 | Сообщение 24
Оффлайн
Администраторы
Сообщений:39052
Награды: 65
Лично у меня на Мозиле, яндекс и браузере на хромовских движках на юкоз не один не работает!
Страна: (RU)
Форум » Веб-разработка » Вопросы по uCoz » Код: Выделить все не стал работать (Как писать код и сразу видеть результат по одному клику)
  • Страница 2 из 2
  • «
  • 1
  • 2
Поиск: