Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Интернет » Web-программирование » вопросы по javascript

Модерирует : Cheery

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117

Открыть новую тему     Написать ответ в эту тему

Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Nick3230

Цитата:
Возможно ли как-то ещё немного подправить и сделать проверку не по одной букве

оно и срабатывает по 2 буквам. исключение, разве что, не знаю может ли быть просто в байтах. может сработать на число и "b" за ним. и добавить TB, поэтому
 

Цитата:
Срабатывает и на пустые статьи, где не указано вообще никакого размера. Можно их тоже исключить?

да, потому что не знал является ли это обязательным.
 

Цитата:
В скрипте поставил любой заголовок, размер до 5 GB.

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

Всего записей: 15222 | Зарегистр. 20-09-2014 | Отправлено: 22:18 20-10-2023 | Исправлено: Mavrikii, 23:03 20-10-2023
Nick3230

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Mavrikii

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

Код:
var filter = {
    'title': [''],
    'size': {
        'min': null,
        'max': '5 GB'
    }
}
 


Цитата:
код поправлен выше.

Проверил, ругается почему-то:
"EXISTING articles filtering error: 'TypeError: Cannot call method 'toLowerCase' of undefined'."
 
P.S. Параметры (условия) ставлю такие же...

Всего записей: 203 | Зарегистр. 05-12-2006 | Отправлено: 16:13 22-10-2023
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Nick3230

Цитата:
 'title': [''],

Просто
'title': [],
 
 

Цитата:
ругается почему-то

Посмотрю чуть позже. Но, в принципе, можно сделать так
 

Код:
function size2Bytes(size) {
    var m = (size + '').match(/([\d\.]+)\s*([tgmk]?b)\b/i),
        s = {'tb': Math.pow(1024, 4), 'gb': Math.pow(1024, 3), 'mb': Math.pow(1024, 2), 'kb': 1024, 'b': 1};
    if (m)
        return Math.ceil(m[1] * s[m[2].toLowerCase()]);
    else
        return null;
}

Всего записей: 15222 | Зарегистр. 20-09-2014 | Отправлено: 17:28 22-10-2023
Weinaum



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Приветствую,
 
на этом сайте реализована такая фича - когда сайт открыт во вкладке в браузере, при переходе на другую вкладку в покинутой но не закрытой вкладке изменяется title - начинает моргать попеременно  реальный title и "komm zurück" как призыв вернуться в эту вкладку. При этом если покинул и вернулся моргать перестает.  
Не могу понять, как это реализовано?

Всего записей: 2152 | Зарегистр. 18-06-2006 | Отправлено: 10:55 23-10-2023 | Исправлено: Weinaum, 10:56 23-10-2023
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Weinaum
https://dev.to/j471n/detect-when-users-switch-tabs-using-javascript-3mi3

Всего записей: 15222 | Зарегистр. 20-09-2014 | Отправлено: 10:57 23-10-2023
Weinaum



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Mavrikii


Всего записей: 2152 | Зарегистр. 18-06-2006 | Отправлено: 19:49 23-10-2023
Nick3230

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Mavrikii
Спасибо Вам за подправленную функцию "size2Bytes"!

Цитата:
Но, в принципе, можно сделать так

Теперь программа "RSS Guard" не выдаёт ошибку и статьи (по крайне мере протестированные) правильно отфильтровываются!
(Если будут ещё каки-либо вопросы/проблемы, то сообщу и напишу).

Всего записей: 203 | Зарегистр. 05-12-2006 | Отправлено: 19:29 28-10-2023
Nick3230

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Возник ещё совсем небольшой вопрос по поводу переключения radio button и checkbox на ru-board.
 
1) Здесь radio button установлен по умолчанию на "no", а нужно, например, на "yes"
Код:
<input name="preview" type="radio" value="yes">
<input name="preview" type="radio" value="no" checked="">
 

Т.е. по идее должно быть что-то наподобие этого:
document.getElementsByName('preview').value="yes";
 
2) Как правильно поставить checkbox, например здесь:
Код:
<input type="checkbox" name="inicode" value="no">

Что-то наподобие:
document.getElementsByName('inicode').checked="checked";
 
3) Как снять ненужный checkbox?
Код:
<input type="checkbox" name="sm" value="yes" checked="">

Что-то такое:
document.getElementsByName('sm').checked="";
 
Подскажите, пожалуйста, про эти небольшие вопросы.

Всего записей: 203 | Зарегистр. 05-12-2006 | Отправлено: 20:22 31-10-2023
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Nick3230

Цитата:
Т.е. по идее должно быть что-то наподобие этого:
document.getElementsByName('preview').value="yes";

нет.
document.querySelector('[name="preview"][value="yes"]').checked = true;
 

Цитата:
Как правильно поставить checkbox, например здесь:

аналогично выше
document.querySelector('[name="inicode"]').checked = true;
 

Цитата:
Как снять ненужный checkbox?

document.querySelector('[name="sm"]').checked = false;

Всего записей: 15222 | Зарегистр. 20-09-2014 | Отправлено: 21:09 31-10-2023
Nick3230

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Mavrikii
Спасибо Вам за примеры. Теперь всё получилось!
==================
 
Есть ещё неработающий скрипт вида:

Код:
var comment = (function createCurrentURLComment(window){
  var prefix = ' saved from url=',
      postfix = ' ',
      document = window.document,
      location = window.location,
      comment = document.createComment(prefix + location.href + postfix);
   
  document.documentElement.before(comment);
 
  window.addEventListener('popstate', function(){
    comment.data = prefix + location.href + postfix;
  }, false);
   
  return comment
}(window));
 

 
Этот скрипт должен сохранять текущий URL в *.html файле, но он почему-то не работает.
Т.е., например, при сохранении в приватном режиме в браузере не сохраняется исходный URL, а вместо этого там по умолчанию только:
"<!-- saved from url=(0014)about:internet -->"
 
Подскажите, пожалуйста, исправленную версию скрипта, чтобы сохранялся URL тоже и в приватном режиме в браузере.
 

Всего записей: 203 | Зарегистр. 05-12-2006 | Отправлено: 15:29 01-11-2023
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Nick3230

Цитата:
Этот скрипт должен сохранять текущий URL в *.html файле, но он почему-то не работает.

ничего он не должен. браузеры сохраняют тот html, что получают от сервера, а не модифицированный с помощью js.

Всего записей: 15222 | Зарегистр. 20-09-2014 | Отправлено: 18:33 01-11-2023
Nick3230

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Mavrikii

Цитата:
браузеры сохраняют тот html, что получают от сервера, а не модифицированный с помощью js

Тем не менее, раньше этот скрипт успешно работал, но с какого-то времени перестал (видимо, из-за очередных обновлений браузера).
(Я использую внедрение пользовательских скриптов на страницы, например, через такие дополнения как "Violentmonkey", "Greasemonkey" и т.п.)
 
Дело в том, что даже на последнем Firefox v119.0 x64 скрипт отрабатывает нормально (можете это проверить), а вот на Chromium-based браузерах никак не получается заставить его заработать правильно.
 
(Поэтому и спросил, может быть кто-нибудь знает и подскажет такое решение).
 
P.S. Большое спасибо Вам за ответы и скрипты!!!

Всего записей: 203 | Зарегистр. 05-12-2006 | Отправлено: 12:15 02-11-2023
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Nick3230

Цитата:
Тем не менее, раньше этот скрипт успешно работал,

браузер сам вставляет такую информацию при сохранении страницы, без стороннего скрипта.

Всего записей: 15222 | Зарегистр. 20-09-2014 | Отправлено: 12:17 02-11-2023
Weinaum



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Приветствую, помогите разобраться, в математике похоже туплю или чего то не вижу.
Есть на странице товара в magento эффект лупы при наведении курсора на картинку.
Например, вот на этой странице товара.
Т.о. есть 2 области - область курсора и область увеличения справа от картинки.  
Проблема в том, что по дефолту сейчас область курсора примерно в 2 раза меньше области увеличения.
Размеры области увеличения прописываются в xml конфиге, и если я хочу сделать эту область 550х550, как в примере, то область курсора получается 287х287, а это многовато. Хочу сделать в 3 раза меньше примерно, т.е. порядка 90px.
Вот тут искомый js файл, в нем я нашел где прописаны размеры области курсора:
 

Код:
magnifyLensElement.css

 
Если я уменьшаю эти размеры, например просто разделив на 3, то область курсора становится нужного размера, но перестает следовать за курсором.  
Т.е. надо определить - изменить - еще координаты по X и Y, которые как я вижу прописаны ниже в js.
И вот тут затык, никак не пойму как правильно изменить эти координаты.

Всего записей: 2152 | Зарегистр. 18-06-2006 | Отправлено: 16:45 27-11-2023
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Weinaum

Код:
magnifyLensElement.css({
   width: Math.round(data[idSelectorMainImg].lensW) + 'px',
   height: Math.round(data[idSelectorMainImg].lensH) + 'px',
   display: ''
});

 

Цитата:
Если я уменьшаю эти размеры, например просто разделив на 3, то область курсора становится нужного размера, но перестает следовать за курсором.

менять нужно, очевидно, то, что в data - потому что используются данные в другом месте, при пересчете координат.
 
первоначально считается тут

Код:
mainImageData.lensW = Math.round(mainImageData.w / mainImageData.zoom);
mainImageData.lensH = Math.round(mainImageData.h / mainImageData.zoom);

то есть на основе высоты картинки и параметра зума.
 

Код:
        magnifierOptions = {
            x: 0,
            y: 0,
            w: 0,
            h: 0,
            lensW: 0,
            lensH: 0,
            lensBgX: 0,
            lensBgY: 0,
            largeW: 0,
            largeH: 0,
            largeL: 0,
            largeT: 0,
            zoom: 2,
            zoomMin: 1.1,
            zoomMax: 5,
            mode: 'outside',
            eventType: 'click',
            status: 0,
            zoomAttached: false,
            zoomable: customUserOptions.zoomable !== undefined ?
                customUserOptions.zoomable
                : false,
            onthumbenter: customUserOptions.onthumbenter !== undefined ?
                customUserOptions.onthumbenter
                : null,
            onthumbmove: customUserOptions.onthumbmove !== undefined ?
                customUserOptions.onthumbmove
                : null,
            onthumbleave: customUserOptions.onthumbleave !== undefined ?
                customUserOptions.onthumbleave
                : null,
            onzoom: customUserOptions.onzoom !== undefined ?
                customUserOptions.onzoom
                : null
        },
 

выставлен zoom: 2
 
ps: его можно переопределить в том, что генерит CMS - эта строка

Цитата:
"options": {"nav":"thumbs","loop":true,"keyboard":true,"arrows":true,"allowfullscreen":true,"showCaption":false,"width":700,"thumbwidth":88,"thumbheight":110,"height":700,"transitionduration":500,"transition":"slide","navarrows":true,"navtype":"slides","navdir":"horizontal"}


Всего записей: 15222 | Зарегистр. 20-09-2014 | Отправлено: 20:58 27-11-2023 | Исправлено: Mavrikii, 21:35 27-11-2023
Weinaum



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Mavrikii
 
спасибо.
Да, я конечно же пробовал изначально менять в magnifierOptions - но независимо какой я выставляю там zoom, zoomMin или ZoomMax, ничего не меняется.  
А вот тут -  

Код:
mainImageData.lensW = Math.round(mainImageData.w / mainImageData.zoom);
mainImageData.lensH = Math.round(mainImageData.h / mainImageData.zoom);

да тут получилось изменить, все в принципе корректно.

Всего записей: 2152 | Зарегистр. 18-06-2006 | Отправлено: 11:22 28-11-2023
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
его можно переопределить в том, что генерит CMS - эта строка

перепутал, эта

Код:
 "magnifierOpts": {"fullscreenzoom":"20","top":"","left":"","width":"550","height":"550","eventType":"hover","enabled":true},

она генерится самой CMS. вот если тут будет и "zoom": "нужное значение", то изменит тоже размер.

Всего записей: 15222 | Зарегистр. 20-09-2014 | Отправлено: 20:21 28-11-2023
Mezhic



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Приветствую,
 
Подключил jQuery UI к странице с формой на Тильде. Мне нужно только функция autocomplete. Автодополнение включено для трех полей, сам скрипт довольно большой вышел, под полтора мегабайта, из-за большого куска данных в json для подставления. Так вот, бывают проблемы, бывает при первой загрузке в разных браузерах не срабатывает функция автодополнения, не появляется выпадающий список с вариантами, а в Сафарн не работает вообще. При этом в консоли чисто, никаких ошибок.  
 
Посмотрите, пожалуйста. Буду рад совету
 
<----->

Всего записей: 115 | Зарегистр. 27-08-2004 | Отправлено: 17:55 30-11-2023 | Исправлено: Mezhic, 17:06 18-12-2023
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Mezhic
не воспроизводится проблема, хотя бы указали какие браузеры. сафари только под маком, на виндовый порт можно забить.

Всего записей: 15222 | Зарегистр. 20-09-2014 | Отправлено: 00:30 01-12-2023
Mezhic



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Mavrikii
 
Я скомпилировал jquery ui только с плагином autocompete через их билдер на сайте, с версиями jquery поэкспериментировал, и сейчас вроде перестала появляться проблема, когда при первой загрузке не работает.  
 
Но с Сафари как была проблема, так и осталась. У меня мака нет, могу только тестить в browserstack по минуте. Ни разу запустить не удалось  (хотя как говорил, сам плагин, если не на этой странице, работает).

Всего записей: 115 | Зарегистр. 27-08-2004 | Отправлено: 06:04 01-12-2023
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117

Компьютерный форум Ru.Board » Интернет » Web-программирование » вопросы по javascript


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru