Вверх ↑
Этот топик читают: Гость
Ответов: 1731
Рейтинг: 68
#1: 2016-08-24 19:46:22 ЛС | профиль | цитата
Почему?
Не устраивает вид/положение некоторых элементов форума.

Как установить?
Установить расширение Custom JavaScript for websites для Chrome / Greasemonkey для Firefox / Scripter для Opera.
Настройка Custom JavaScript for websites

    1. Вызвать popup для расширения.
    2. Активировать галочку enable cjs for this host
    3. Вставить необходимые скрипты и нажать кнопку save

Настройка Greasemonkey

    1. Перейти на страницу дополнений.
    2. Нажать Создать скрипт.
    3. В появившемся окне вписываете любое название и любое пространство имен, во Включения вписываете http://forum.hiasm.com/*
    4. Вставить необходимые скрипты после // ==/UserScript== и сохранить.

Настройка Scripter

    1. В адресной строке справа нажать на иконку Scripter.
    2. Выбрать порядок выполнения скрипта onload и активируете галку Включить jQuery и Глобальный скрипт.
    3. Вставить нужные скрипты и нажать сохранить.


Скрипты
Кнопка предпросмотра


var btn_replace_urls = ["privatetopic", "topic", "forum"]; // pathname страницы
if(btn_replace_urls.includes(window.location.pathname.split('/')[1])) $('form .tools').append('‹input type="button" class="submit" value="Предпросмотр" onclick="showPreview(this);" style="margin-right: 5px;"›');
Другой формат времени


function formatDate(date, del) {
var dd = date.split(' ')[0].split('-')[2];
var mm = date.split(' ')[0].split('-')[1];
var yy = date.split(' ')[0].split('-')[0];
return dd + del + mm + del + yy;
}

function formatTime(date, del) {
var dd = date.split(' ')[1].split(':')[0];
var mm = date.split(' ')[1].split(':')[1];
var yy = date.split(' ')[1].split(':')[2];
return dd + del + mm + del + yy;
}

$('span.date').each(function(key, value){
var unfdate = $(value).html();
$(value).html(formatTime(unfdate,':') + " " + formatDate(unfdate,'/'));
});
Статус пользователя на форуме


$('.posts .login img').each(function(key, item){
if($(item).attr('src') == '/img/offline.png') $(item).parent().append('<br><span style="font-size: xx-small; color: lightgrey; cursor: default;">Offline</span>');
else $(item).parent().append('<br><span style="font-size: xx-small; color: green; cursor: default;" title="' + $(item).attr('title') + '">Online</span>');
});
Кнопка копирования кода в буфер обмена (только Chrome)


function copytoclipboard(id){
$('#clipboard').val($(id).text());
$('#clipboard').select();
document.execCommand("Copy");
}
$('body').append('<textarea id="clipboard" style="position:absolute;left:-400px;width:1px;"></textarea>');
$('.prettyprint').each(function(key, item){
$(item).children('code').attr('id','code_' + key);
$(item).prepend('<a href="javascript: copytoclipboard(\'#code_' + key + '\')" style="float: right;">Копировать</a><br>');
});
Google Поиск



Код

if(window.location.pathname == '/search/'){
document.querySelector('form').outerHTML = '<gcse:search></gcse:search>';
var cx = '007977425653318554071:wank2vr9uck';
var gcse = document.createElement('script');
gcse.type = 'text/javascript';
gcse.async = true;
gcse.src = 'https://cse.google.com/cse.js?cx=' + cx;
var s = document.getElementsByTagName('script')[0];
s.parentNode.insertBefore(gcse, s);
}

Альтернатива
Вариант #2

Автор: Assasin.

Давно делал для соседнего форума на таком же движке плагины с помощью индикаторов (это настраиваемые иконки на панели справа, где еще кнопка поддержки и ленты событий). В чем преимущества: работало везде, т.к. использовало уязвимость индикатора и подставляло кастомный обработчик клика (ее долго не правили, т.к. считали некритичной, и никто мне не запретил ее публично заюзать, я спрашивал, честно ).

(далее немного копипасты из топика по ссылке выше)

Плагин создается на базе индикатора произвольной ссылкиЭто находится в профиле, на вкладке "настройки" и подвкладке "индикаторы":
, выглядит как самый обычный индикатор (на скриншоте их на самом деле два).
Однако в поле ссылки при создании индикатора вписывается не совсем обычная ссылка, а код следующего вида:
plugin: inviter.js auto remove
plugin: - идентификация нестандартного расширения
inviter.js - имя плагина с .js, подставляется к базовому url, заданному в юзерскрипте.
auto - автоматически подгружать скрипт при каждой загрузке страницы (если настроить кэширование на http-сервере, а у меня оно настроено, то скрипт не будет каждый раз тянуться с сервера).
remove - после активации (или клика по нему) плагин нельзя повторно активировать, защищает от избыточного включения.

Поэтому по нажатию на этот индикатор активируется подгрузка внешнего скрипта, в котором уже можно творить что угодно.
Сейчас эта уязвимость пофикшена, поэтому я реализовал аналогичную поддержку плагинов через индикаторы, но более удобным способом.

Сам юзерскрипт: посмотреть.

Внешние скрипты нужно где-то хранить, для этого я использую свой сайт, однако, если вы хотите, можете скачать скрипт и залить куда-нибудь в другое место, главное условие - чтобы ссылка на него была прямая. Ну и в юзерскрипте поменяйте базовый адрес (http://sinair.ru/plug/ на что-то свое).

Итак, скрипты:
Вставка своих документов при редактировании поста

plugin: userdoc.js auto
Иконка: ( http://sinair.ru/plug/userdoc.png )

Как работает:
1. Начинаем редактировать/создавать пост
2. Активируем индикатор-плагин (щелк по иконке).
3. В панель форматирования добавляется новый значок (в конце)
4. Кликаем по добавившейся иконке.
5. Выбираем документ из списка и кликаем по нему.
6. Готово, содержимое документа вставлено в поле редактора поста.

При перезагрузке страницы или редактировании другого поста на странице требуется повторная активация плагина.
Увеличиватель очень мелкого текста

plugin: smallbig.js
Иконка: ( http://icons.hiasm.com/img/8/4568_icon144.ico )

Как работает: когда по ходу чтения встречается мелкий текст, просто активируем индикатор и текст становится читабельным.
Удобный приглашатель в сообщество в два клика

plugin: inviter.js auto remove
Иконка: ( http://icons.mcgl.ru/img/8/4505_icon81.ico )

Как работает: Активируем индикатор кликом по нему и к каждому посту на странице добавляется кнопка, которая и производит необходимое действие.
Внимание! Работает только на странице сообщества! (т.е. в теме в разделе заявок, например).



Чтобы долго не искать, дублирую ссылку в конец.
Сам юзерскрипт: посмотреть.

Редактировалось 8 раз(а), последний 2016-10-20 00:45:32
карма: 1

3
Голосовали:Administrator, Dseren, ser_davkin
Ответов: 817
Рейтинг: 52
#2: 2016-08-24 20:03:30 ЛС | профиль | цитата
Cosinus,
Вот классно, а что же делать несчастным которые пользуют IE, Konqueror, Оpera и т.д.?
что по мне, так я вообще Chrome расстрелял бы из атомного оружия

Нет уж, Вы делайте свои рюшечки как вам нравится, а лично я считаю, что форум (внешний вид, удобство и т.д.) делается для людей (большинства)
Если есть предложение, значит есть спрос и спрос надо удовлетворять, но если есть спрос, но нет предложения - увы, алес капут
карма: 1

0
Ответов: 1731
Рейтинг: 68
#3: 2016-08-24 20:26:31 ЛС | профиль | цитата
-= DriveR =-, я не уверен, что для IE существуют дополнения.
Путь этим пользуются те, кому это действительно нужно.
карма: 1

0
Ответов: 16884
Рейтинг: 1239
#4: 2016-08-24 21:04:23 ЛС | профиль | цитата
Ну в IE этот форум запускать не надо. Тем более на ночь глядя.
Менюшки - кто куда. Кто влево, кто вправо.
Попробовал. Больше не буду.
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Администрация
Ответов: 15295
Рейтинг: 1519
#5: 2016-08-24 21:05:26 ЛС | профиль | цитата
Мы IE ни в одном из продуктов не поддерживаем. Только Edge и выше.
карма: 27
0
Ответов: 1731
Рейтинг: 68
#6: 2016-08-24 21:11:14 ЛС | профиль | цитата
В IE не работают только боковые панельки.
А так, выглядит нормально.
Картинка (122.5кб)


карма: 1

0
Разработчик
Ответов: 4698
Рейтинг: 426
#7: 2016-08-24 21:14:30 ЛС | профиль | цитата
Давно делал для соседнего форума на таком же движке плагины с помощью индикаторов (это настраиваемые иконки на панели справа, где еще кнопка поддержки и ленты событий). В чем преимущества: работало везде, т.к. использовало уязвимость индикатора и подставляло кастомный обработчик клика (ее долго не правили, т.к. считали некритичной, и никто мне не запретил ее публично заюзать, я спрашивал, честно ).

(далее немного копипасты из топика по ссылке выше)

Плагин создается на базе индикатора произвольной ссылкиЭто находится в профиле, на вкладке "настройки" и подвкладке "индикаторы":
, выглядит как самый обычный индикатор (на скриншоте их на самом деле два).
Однако в поле ссылки при создании индикатора вписывается не совсем обычная ссылка, а код следующего вида:
plugin: inviter.js auto remove
plugin: - идентификация нестандартного расширения
inviter.js - имя плагина с .js, подставляется к базовому url, заданному в юзерскрипте.
auto - автоматически подгружать скрипт при каждой загрузке страницы (если настроить кэширование на http-сервере, а у меня оно настроено, то скрипт не будет каждый раз тянуться с сервера).
remove - после активации (или клика по нему) плагин нельзя повторно активировать, защищает от избыточного включения.

Поэтому по нажатию на этот индикатор активируется подгрузка внешнего скрипта, в котором уже можно творить что угодно.
Сейчас эта уязвимость пофикшена, поэтому я реализовал аналогичную поддержку плагинов через индикаторы, но более удобным способом.

Сам юзерскрипт: посмотреть.

Внешние скрипты нужно где-то хранить, для этого я использую свой сайт, однако, если вы хотите, можете скачать скрипт и залить куда-нибудь в другое место, главное условие - чтобы ссылка на него была прямая. Ну и в юзерскрипте поменяйте базовый адрес (http://sinair.ru/plug/ на что-то свое).

Итак, скрипты:
Вставка своих документов при редактировании поста

plugin: userdoc.js auto
Иконка: ( http://sinair.ru/plug/userdoc.png )

Как работает:
1. Начинаем редактировать/создавать пост
2. Активируем индикатор-плагин (щелк по иконке).
3. В панель форматирования добавляется новый значок (в конце)
4. Кликаем по добавившейся иконке.
5. Выбираем документ из списка и кликаем по нему.
6. Готово, содержимое документа вставлено в поле редактора поста.

При перезагрузке страницы или редактировании другого поста на странице требуется повторная активация плагина.
Увеличиватель очень мелкого текста

plugin: smallbig.js
Иконка: ( http://icons.hiasm.com/img/8/4568_icon144.ico )

Как работает: когда по ходу чтения встречается мелкий текст, просто активируем индикатор и текст становится читабельным.
Удобный приглашатель в сообщество в два клика

plugin: inviter.js auto remove
Иконка: ( http://icons.mcgl.ru/img/8/4505_icon81.ico )

Как работает: Активируем индикатор кликом по нему и к каждому посту на странице добавляется кнопка, которая и производит необходимое действие.
Внимание! Работает только на странице сообщества! (т.е. в теме в разделе заявок, например).



Чтобы долго не искать, дублирую ссылку в конец.
Сам юзерскрипт: посмотреть.

Редактировалось 3 раз(а), последний 2016-08-24 21:17:27
карма: 10
0
Ответов: 16884
Рейтинг: 1239
#8: 2016-08-24 21:19:27 ЛС | профиль | цитата
Dilma писал(а):
Мы IE ни в одном из продуктов не поддерживаем. Только Edge и выше.

Internet Explorer продолжает лидировать с показателем 45,91%, хотя и быстро теряет свои позиции. Chrome идёт следом с 35,76%, третий Firefox с 11,54%. Доля Edge составляет 3,02% против 1,51% по итогам января. Это только версия Edge 13, доступная на Windows 10 1511 (ноябрьское обновление). Прибавив ещё 0,91% у Edge 12 из сборки 10240, в сумме получаем около 4%.
Отчасти спад Internet Explorer можно списать на то, что он не является браузером по умолчанию в Windows 10, поскольку вместо него Microsoft продвигает на компьютерах и смартфонах новый браузер Edge. Последний должен составить конкуренцию лидерам от Google и Mozilla, но пока ограниченная функциональность и поддержка только в Windows 10 не позволяют сражаться с ними на равных.

карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 1731
Рейтинг: 68
#9: 2016-08-24 21:19:52 ЛС | профиль | цитата
Assasin, не против если я закреплю?
карма: 1

0
Разработчик
Ответов: 4698
Рейтинг: 426
#10: 2016-08-24 21:20:05 ЛС | профиль | цитата
Cosinus, да, конечно.
карма: 10
0
Администрация
Ответов: 15295
Рейтинг: 1519
#11: 2016-08-24 21:24:01 ЛС | профиль | цитата
Tad, http://pcpro100.info/luchshie-brauzeryi-2015/ и вот такая еще картинка есть:
Популярность браузеров на 2016 год

Взято отсюда: http://sd-company.su/article/browsers/rating-browsers-russia. И в эти цифры мне вериться гораздо больше.
карма: 27
0
Ответов: 817
Рейтинг: 52
#12: 2016-08-24 21:51:32 ЛС | профиль | цитата
Cosinus писал(а):
Установить расширение

Tad писал(а):
Ну в IE этот форум запускать не надо

Assasin писал(а):
Внешние скрипты нужно где-то хранить

Tad писал(а):
Internet Explorer продолжает лидировать с показателем

Dilma писал(а):
Популярность браузеров на 2016 год

Ну, мужики, вы даете.
Сначала костыли предложили и говорят, "так теперь модно", потом вообще от темы ушли
Ну что же, остается только запастись попкорном и наблюдать чем все закончится
карма: 1

0
Разработчик
Ответов: 4698
Рейтинг: 426
#13: 2016-08-24 21:52:59 ЛС | профиль | цитата
-= DriveR =-, да я, в общем-то, согласен, наиболее юзабельные фишки (как кнопку предпросмотра) можно и для всех сделать. А так, изворачиваемся и костыляем, как получается.
карма: 10
2
Голосовали:-= DriveR =-, ser_davkin
Ответов: 1731
Рейтинг: 68
#14: 2016-08-27 00:06:11 ЛС | профиль | цитата
Добавил скрипт "Статус пользователя на форуме".
Работает также как и стандартный.

--- Добавлено в 2016-08-27 01:44:11

Добавил скрипт "Кнопка копирования кода в буфер обмена".
При нажатии копирует код в буфер обмена.

Редактировалось 3 раз(а), последний 2016-08-27 01:44:11
карма: 1

0
Разработчик
Ответов: 4698
Рейтинг: 426
#15: 2016-08-27 01:55:24 ЛС | профиль | цитата
Cosinus писал(а):
Добавил скрипт "Статус пользователя на форуме".
Работает также как и стандартный.

А смысл от него, если есть стандартный кружок?
карма: 10
0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)