
Интерфейс
284534 просмотров, 226 ответов — стр. 12 из 16
13 сентября 2022 г. в 12:44#166
Для фотогалереи на мой взгляд и cqham с qrz достаточно. А иначе в целый портал превращать ресурс придется. Сергею тогда и спать будет некогда. 

13 сентября 2022 г. в 03:44#167
Подобрался к фото lllo
Сделал кэширование картинок.
Вывод картинок пока предварительный. Долго не мог кэширование подключить.
Пока выводится одна картинка ))) завтра уже доделаю нормально.
Скорость вывода картинок - ШИКАРНЫЙ !!!
Сделал кэширование картинок.
Вывод картинок пока предварительный. Долго не мог кэширование подключить.
Пока выводится одна картинка ))) завтра уже доделаю нормально.
Скорость вывода картинок - ШИКАРНЫЙ !!!
13 сентября 2022 г. в 03:50#168
http://stockbolt.ru/blog/
попробуйте
пока все к телефону
попробуйте
пока все к телефону
13 сентября 2022 г. в 04:29#169
с телефона все отлично. Картинки удобные, но при нажатии на картинку выдаёт скрин из маткада с расчетом мостового кф13 сентября 2022 г. в 04:50#170
Да да так и должно быть. Завтра буду красоту наводить
Спасибо за «нет кравати»

Спасибо за «нет кравати»

13 сентября 2022 г. в 05:27#171
Эти телефонные версии конечно здорово, они не расползаются по экрану и побыстрее грузятся. Но как в корневом оглавлении увидеть последние темы разделов и автора последнего сообщения?
13 сентября 2022 г. в 07:04#172
Да да , это очень хороший сервис. Он обязательно будет. Я до пользователей ещё не дошёл, а это функция напрямик связана с юзером.
14 сентября 2022 г. в 04:13#173
Навёл порядок
теперь фотки норм выглядят.
Сделал так что когда по pdf файлу кликаешь он открывается в браузере а не скачивается.
Прогресс индексатор загрузки пока глючит
может вообще его выкину.
теперь фотки норм выглядят. Сделал так что когда по pdf файлу кликаешь он открывается в браузере а не скачивается.
Прогресс индексатор загрузки пока глючит
может вообще его выкину. 14 сентября 2022 г. в 10:03#174
Сделал так что когда по pdf файлу кликаешь он открывается в браузере а не скачивается.
Это не всегда удобно. Как по мне лучше, когда диалог вылазит - открывать (в чем-то на выбор) или скачать.
14 сентября 2022 г. в 11:06#175
Сделал так что когда по pdf файлу кликаешь он открывается в браузере а не скачивается.Сергей, а зачем это?
Каждый сам может настроить в своем браузере. Например в Google Chrome режим режим работы с PDF легко переключается вот здесь chrome://settings/content/pdfDocuments. Эта настройка находится в разделе Privacy and Security и я категорически против того, чтобы сайты изменяли такие настройки моего браузера даже "на лету" (если это вообще возможно).
Кстати, на Вашем сайте http://stockbolt.ru/blog/ после клика на PDF файле мой браузер предлагает скачать файл, а не открывает его в новой вкладке.
Собственно, отрабатываются настройки моего браузера.
14 сентября 2022 г. в 11:28#176
Сергей,
У меня есть еще одно предложение.
При создании макетов страниц форума используйте сразу "responsive design". В наше время переключения "мобильная/полная версия" или же создание отдельной мобильной версии сайта выглядят архаично.
Да и при уменьшении размеров браузера на экране настольного компьютера очень удобно, когда отображаемая страница моментально адаптируется под новый размер окна.
У меня есть еще одно предложение.
При создании макетов страниц форума используйте сразу "responsive design". В наше время переключения "мобильная/полная версия" или же создание отдельной мобильной версии сайта выглядят архаично.
Да и при уменьшении размеров браузера на экране настольного компьютера очень удобно, когда отображаемая страница моментально адаптируется под новый размер окна.
15 сентября 2022 г. в 07:16#177
Сергей, а зачем это?Спасибо что обратили внимание.
Все просто) куча пдф у меня на компе и мне их очень лень сортировать. И очень удобно когда просто открыл и посмотрел, а скачать его по необходимости можно прямо с просмоторщика.
Это не всегда удобно. Как по мне лучше, когда диалог вылазит - открывать (в чем-то на выбор) или скачать.Тот же ответ . Можно и так и скачать.
сразу "responsive design".Он только такой и идёт. Если заметили нет колонки с пользователем, так ее я буду включать динамически в зависимости от ширины окна width. Поэтому сейчас на компе дизайн куцый. Щас базис подобью потом уже дальше пойду.
15 сентября 2022 г. в 10:43#178
С кнопкой масштаба стало прям круто
особенно на телефоне
особенно на телефоне 15 сентября 2022 г. в 01:10#179
Добил парсер 
Теперь цвета и размер соответствуют оригиналу, так же отпарсил URL и еще там всякое... рутина еле заметная.
Переделал вывод картинки и его масштаб - теперь норм!
Приличный такой парсер получился
Пока с красотами закончу. Надо идти дальше к юзерам. Там тоже много.
(у меня на телефоне открыты обе вкладки и оригинальным форумом и моим.... я начал путать кто где )

Теперь цвета и размер соответствуют оригиналу, так же отпарсил URL и еще там всякое... рутина еле заметная.
Переделал вывод картинки и его масштаб - теперь норм!
Приличный такой парсер получился

Пока с красотами закончу. Надо идти дальше к юзерам. Там тоже много.
(у меня на телефоне открыты обе вкладки и оригинальным форумом и моим.... я начал путать кто где )
15 сентября 2022 г. в 02:02#180
Вот такой парсер ....
Код: [Выделить]//url parser
function urlify(text) {
var urlRegex =/(\b(https?|ftp|file):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/ig;
return text.replace(urlRegex, function(url) {
return '<a href="' + url + '">' + url + '</a>';
});
}
value=urlify(value);
//------url
//смайлы
for (var key in Smileys) {
value=value.split(key).join(Smileys[key]);
}
//цитаты
var idx=value.indexOf('[qu ote'),
end=value.substring(idx).indexOf(']')+1;
while(idx>-1){
var header=value.substring(idx,idx+end),
avtor='',wr_date='',dd,old_date;
if(header.indexOf('author=')>-1){
if(header.indexOf('link=')>-1){
avtor='<font size=0.7em>'+header.substring(header.indexOf('author=')+7,header.indexOf('link='));
} else {
avtor='<font size=0.7em>'+header.substring(header.indexOf('author=')+7,header.indexOf(']'));
}
}
if(header.indexOf('date=')>-1){
dd=Number(header.substring(header.indexOf('date=')+5,header.indexOf(']')),10);
old_date=new Date(dd* 1000);
wr_date=' '+old_date.toLocaleString("ru", RuLocalOptions)+'</font>';
}
value=value.split(value.substring(idx,idx+end)).join('<di v style="padding:5px;padding-left:20px;margin-left:6px;background: url(img/quote.png) 0.1em 0.1em no-repeat; background-color:rgba(54, 54, 200, 0.1);border-radius: 6px;display: block;">'+
avtor+wr_date+'</b r>');
idx=value.indexOf('[qu ote');
end=-1;
if(idx>-1)end=value.substring(idx).indexOf(']')+1;
}
value=value.split('[/qu ote]').join('</div>') ;
//цитаты-------
//date
var d=new Date(),dd='';
if(Ext.Date.format(record.get('DATA_MES'),'Y-m-d')==Ext.Date.format(d,'Y-m-d')) dd='<font color=black><b>Сегодня</b></font>';
else{
d.setDate(d.getDate() - 1);
if(Ext.Date.format(record.get('DATA_MES'),'Y-m-d')==Ext.Date.format(d,'Y-m-d')) dd='<font color=black><b>Вчера</b></font>';
}
var headLine;
if(record.get('DATA_MES'))
headLine='<div style="text-align: left;height:20px;width:100%;font-size: 0.8em;">'+
(dd?dd:record.get('DATA_MES').toLocaleString("ru", RuLocalOptions))+
'</div>';
//date-----
//[b ] [ /b]
value=value.split('[/ b]').join('</ b>');
value=value.split('[ b]').join('<b >');
//------
//[co de] [/co de]
value=value.split('[/c ode]').join('</div>');
var cod='<div style="text-align: left;background-color:rgba(200, 54, 54, 0.1);width:80%;display: block;font-size: 0.7em;">Код:</div>';
cd=cod+'<div style="text-align: left;padding:5px;min-height:50px;;max-height:300px;width:80%;overflow: auto;'+
'font-size: 1.1em;background-color:rgba(200, 54, 54, 0.05);display: block;">';
value=value.split('[co de]').join(cd);
//code----------
//pic
var pic=record.get('ATT_PIC')?record.get('ATT_PIC'):'';
//files
var fil=record.get('ATT_FILE')?record.get('ATT_FILE'):'';
idx=value.indexOf('[size');
end=value.substring(idx).indexOf(']')+1;
while(idx>-1){
value=value.split(value.substring(idx,idx+end)).join('<font size=4em>');
idx=value.indexOf('[size');
end=-1;
if(idx>-1)end=value.substring(idx).indexOf(']')+1;
}
value=value.split('[/size]').join('</font>') ;
//----
idx=value.indexOf('[color');
end=value.substring(idx).indexOf(']')+1;
while(idx>-1){
var col='black',
header=value.substring(idx,idx+end);
col=header.substring(header.indexOf('color=')+6,header.indexOf(']'));
value=value.split(value.substring(idx,idx+end)).join('<font color='+col+'>');
idx=value.indexOf('[color');
end=-1;
if(idx>-1)end=value.substring(idx).indexOf(']')+1;
}
value=value.split('[/color]').join('</font>') ;
//----
return '<div style="padding:6px; background-color:#e7eaef; border-radius:6px; display:block;">'+
headLine+value+pic+fil+
'</div>';
Код: [Выделить]//url parser
function urlify(text) {
var urlRegex =/(\b(https?|ftp|file):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/ig;
return text.replace(urlRegex, function(url) {
return '<a href="' + url + '">' + url + '</a>';
});
}
value=urlify(value);
//------url
//смайлы
for (var key in Smileys) {
value=value.split(key).join(Smileys[key]);
}
//цитаты
var idx=value.indexOf('[qu ote'),
end=value.substring(idx).indexOf(']')+1;
while(idx>-1){
var header=value.substring(idx,idx+end),
avtor='',wr_date='',dd,old_date;
if(header.indexOf('author=')>-1){
if(header.indexOf('link=')>-1){
avtor='<font size=0.7em>'+header.substring(header.indexOf('author=')+7,header.indexOf('link='));
} else {
avtor='<font size=0.7em>'+header.substring(header.indexOf('author=')+7,header.indexOf(']'));
}
}
if(header.indexOf('date=')>-1){
dd=Number(header.substring(header.indexOf('date=')+5,header.indexOf(']')),10);
old_date=new Date(dd* 1000);
wr_date=' '+old_date.toLocaleString("ru", RuLocalOptions)+'</font>';
}
value=value.split(value.substring(idx,idx+end)).join('<di v style="padding:5px;padding-left:20px;margin-left:6px;background: url(img/quote.png) 0.1em 0.1em no-repeat; background-color:rgba(54, 54, 200, 0.1);border-radius: 6px;display: block;">'+
avtor+wr_date+'</b r>');
idx=value.indexOf('[qu ote');
end=-1;
if(idx>-1)end=value.substring(idx).indexOf(']')+1;
}
value=value.split('[/qu ote]').join('</div>') ;
//цитаты-------
//date
var d=new Date(),dd='';
if(Ext.Date.format(record.get('DATA_MES'),'Y-m-d')==Ext.Date.format(d,'Y-m-d')) dd='<font color=black><b>Сегодня</b></font>';
else{
d.setDate(d.getDate() - 1);
if(Ext.Date.format(record.get('DATA_MES'),'Y-m-d')==Ext.Date.format(d,'Y-m-d')) dd='<font color=black><b>Вчера</b></font>';
}
var headLine;
if(record.get('DATA_MES'))
headLine='<div style="text-align: left;height:20px;width:100%;font-size: 0.8em;">'+
(dd?dd:record.get('DATA_MES').toLocaleString("ru", RuLocalOptions))+
'</div>';
//date-----
//[b ] [ /b]
value=value.split('[/ b]').join('</ b>');
value=value.split('[ b]').join('<b >');
//------
//[co de] [/co de]
value=value.split('[/c ode]').join('</div>');
var cod='<div style="text-align: left;background-color:rgba(200, 54, 54, 0.1);width:80%;display: block;font-size: 0.7em;">Код:</div>';
cd=cod+'<div style="text-align: left;padding:5px;min-height:50px;;max-height:300px;width:80%;overflow: auto;'+
'font-size: 1.1em;background-color:rgba(200, 54, 54, 0.05);display: block;">';
value=value.split('[co de]').join(cd);
//code----------
//pic
var pic=record.get('ATT_PIC')?record.get('ATT_PIC'):'';
//files
var fil=record.get('ATT_FILE')?record.get('ATT_FILE'):'';
idx=value.indexOf('[size');
end=value.substring(idx).indexOf(']')+1;
while(idx>-1){
value=value.split(value.substring(idx,idx+end)).join('<font size=4em>');
idx=value.indexOf('[size');
end=-1;
if(idx>-1)end=value.substring(idx).indexOf(']')+1;
}
value=value.split('[/size]').join('</font>') ;
//----
idx=value.indexOf('[color');
end=value.substring(idx).indexOf(']')+1;
while(idx>-1){
var col='black',
header=value.substring(idx,idx+end);
col=header.substring(header.indexOf('color=')+6,header.indexOf(']'));
value=value.split(value.substring(idx,idx+end)).join('<font color='+col+'>');
idx=value.indexOf('[color');
end=-1;
if(idx>-1)end=value.substring(idx).indexOf(']')+1;
}
value=value.split('[/color]').join('</font>') ;
//----
return '<div style="padding:6px; background-color:#e7eaef; border-radius:6px; display:block;">'+
headLine+value+pic+fil+
'</div>';