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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в 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

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

Weinaum



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

Всего записей: 1973 | Зарегистр. 18-06-2006 | Отправлено: 12:57 19-02-2020
RetroRocket



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Может кто из знатоков посмотреть?
Видимо, чего-то не хватает в background.js или popup.js.
По ошибке "...  is not a function" находится много всего, но понимания не хватает.

----------
"... Зовёт, зовёт в дорогу далёкий Млечный Путь ..."

Всего записей: 1730 | Зарегистр. 02-01-2018 | Отправлено: 18:36 23-02-2020
Mavrikii

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

Цитата:
где объявляется _store2.default.getState:

во первых не объявляется, а используется. судя по названию - компонента для хранения каких то данных, либо в local storage, либо через куки, которые вы отрубаете.
разбираться в сложном скрипте, ради чьей то прихоти с куками, как то не особо хочется, если честно.

Всего записей: 8853 | Зарегистр. 20-09-2014 | Отправлено: 22:38 23-02-2020
RetroRocket



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Mavrikii
Цитата:
компонента для хранения каких то данных, либо в local storage, либо через куки, которые вы отрубаете.
Скорее всего в локальном хранилище, поскольку куки не появляются в списке, если они разрешены.

Цитата:
во первых не объявляется, а используется.
Да, вы правы. Но ведь объявление всё равно есть в скрипте, так почему же пишет "_store2.default.getState is not a function" при выключенных куках.

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

----------
"... Зовёт, зовёт в дорогу далёкий Млечный Путь ..."

Всего записей: 1730 | Зарегистр. 02-01-2018 | Отправлено: 08:51 24-02-2020
Mavrikii

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

Цитата:
Но ведь объявление всё равно есть в скрипте

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

Всего записей: 8853 | Зарегистр. 20-09-2014 | Отправлено: 20:52 24-02-2020 | Исправлено: Mavrikii, 20:52 24-02-2020
RetroRocket



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Mavrikii
Цитата:
функция описана в одном из модулей подгружаемых с сайта (но ставить расширение для этого в браузер я не стал). и он, по какой то причине, не подгружается.
Я экспериментировал в виртуалке при отключенной сети, то есть неоткуда было подгружаться.
И даже в этом случае отображение меню работало при разрешённых куках.
Может я вообще пошёл по ложному пути и ошибка "_store2.default.getState is not a function" вовсе не связана с пустым меню.
Но больше зацепиться не за что.

Цитата:
скрипт определил, что куки не работают.
Вот найти бы это место и закомментировать.

----------
"... Зовёт, зовёт в дорогу далёкий Млечный Путь ..."

Всего записей: 1730 | Зарегистр. 02-01-2018 | Отправлено: 21:09 24-02-2020
Mavrikii

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

Цитата:
Вот найти бы это место и закомментировать.

там слишком много модулей, так как используется библиотека Redux.  
https://ru.wikipedia.org/wiki/Redux
нужно в ней разбираться.
 
можете попробовать с https://developer.mozilla.org/ru/docs/Setting_up_extension_development_environment
но нужно понимать js, как минимум.
 
ps: и что мешает, когда нужно, открывать окно в режиме анонимности - там все куки удаляются после закрытия.

Всего записей: 8853 | Зарегистр. 20-09-2014 | Отправлено: 21:23 24-02-2020 | Исправлено: Mavrikii, 21:30 24-02-2020
RetroRocket



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Mavrikii
Цитата:
и что мешает, когда нужно, открывать окно в режиме анонимности - там все куки удаляются после закрытия.
Можно и так конечно. Просто была надежда найти ошибку и "починить" расширение "малой кровью".

Цитата:
но нужно понимать js, как минимум.
С js не очень. Понимаю общие вещи, типа вот объявление переменной через var или let, вот создание массива, вызов функции.
Могу вставить в нужное место код вывода в лог или alert-окно.
 
За ссылки спасибо.

----------
"... Зовёт, зовёт в дорогу далёкий Млечный Путь ..."

Всего записей: 1730 | Зарегистр. 02-01-2018 | Отправлено: 21:45 24-02-2020
Weinaum



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Приветствую, вопрос такой,
как лучше всего сделать принудительный перенос строки после первого знака припинания?
например, на примере вот этого кода, хочу сделать перенос каждого пункта меню на вторую строку после первого пробела, запятой, дефиса или слеша, но только по одному разу, т.е. чтобы при последующих знаках препинания переносов не было, и было всегда только 2 строки?
Сорри, в символах вообще плаваю...

Всего записей: 1973 | Зарегистр. 18-06-2006 | Отправлено: 11:08 12-03-2020
Mavrikii

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

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

не проще пример показать?

Всего записей: 8853 | Зарегистр. 20-09-2014 | Отправлено: 19:45 12-03-2020
Weinaum



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Mavrikii
ну подробнее, я хочу - вот пример - чтобы каждый из пунктов меню был бы не в одну, а в 2 строки.  
Что я заметил. В показанном примере меню-пункты длинные. Потому при просмотре на экранах больше таблетов но меньше больших десктопов (на ноутах например) будет или одна большая строка или будет стандартный перенос html wrap. После такого переноса все выровнено очень плохо, одни пункты могут быть в одну строку, другие в 2, а какие то в 3. К тому же выравнивание по горизонтали выглядит не очень в таком случае, вот что я имею в виду(выделил background цветом, чтобы понятнее было.)
https://codepen.io/lagudal/pen/ExjjdKP
Но если я задам для элементов white-space: nowrap и принудительные br, то все выглядит гораздо ровнее.  
В сами эти меню пункты на уровне html поставить разделители нельзя, поэтому остается js.
В настоящее время я все это делаю простой заменой контента, но если пункты меню по какой то причине изменятся, удалятся, добавятся новые, то придется снова это проделывать.  
Вот и пришла мысль сделать перенос после первого знака препинания, но не средствами css, a js.  
Т.е. для  первого меню пункта первым знаком препинания и условием переноса на новую строку будет зяпятая после слова "Etiktettendrucker", для второго - дефис после слова "Thermotransfer", для третьего - пробел после слова "Etiketten", ну и тд.  
Логически я понимаю, что просто все вроде бы - по каждому элементу по всей длине символов пробегаем например while циклом, и если встречается один из символов,которые я назначил препинаниями, то добавить после него символ переноса и сразу break из цикла. Но хромаю в js, в символах особенно, поэтому вот прошу помощи.  
 
upd
Вот с грехом пополам для одного что получилось -  
https://codepen.io/lagudal/pen/OJVvjQo
осталось добавить логические условия и циклом по всем пройтись..

Всего записей: 1973 | Зарегистр. 18-06-2006 | Отправлено: 13:15 13-03-2020 | Исправлено: Weinaum, 17:24 13-03-2020
Mavrikii

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

Цитата:
Вот с грехом пополам для одного что получилось

если есть jQuery, то все гораздо проще.
но и с пробелом проблема - он есть и в других местах, как поймете, что его нужно применить именно на определенном пункте, а не где то еще в случае очень короткого первого слова и пробела после него?
 

Код:
$(function() {
   $('.navbar li a').each(function() {
      $(this).html($(this).html().replace(/([\-,\s])/, '$1<br>'));
   });
});

Всего записей: 8853 | Зарегистр. 20-09-2014 | Отправлено: 22:24 13-03-2020 | Исправлено: Mavrikii, 22:30 13-03-2020
Weinaum



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Mavrikii
jquery есть, спасибо, воспользуюсь вашим вариантом, элегантнее и лаконичнее, чем мой корявый  
код.  
По поводу возможного короткого первого слова - вы правы, но проблема не только с пробелом, с любым разделителем может быть. С немецким языком пока не критично,но вот будет английская версия, там актуальнее уже. Так как там слова короче, есть где 1-е слово из 4-5 букв, а далее может быть еще 20+ символов.  Потому конечно какое то условие по минимальному кол-ву символов для первого ряда надо ставить. В моем корявом варианте это несложно - я тупо индексировать начинаю с какого-то минимума. Например, с 10 -  

Код:
$('nav.navbar ul li a').each(function() {
  var i = 10;  
  var char;
  var str = $(this).html();
  String.prototype.addCharAt=function(index, replacement) {
    return this.substr(0, index-1) + replacement + this.substr(index);
}
  while (i < str.length) {
    char = str.charAt(i);
    i++;
    if ((char == ',') | (char == ' ') | (char == '-') | (char == '/')) {
      char = char.concat('<br>');
      str = str.addCharAt(i,char);      
      $(this).html(str);      
      break;      
    }  
  }  
  })

 
Как это проделать в Вашем коде, пока не знаю )
Но там тоже может ждать засада: например, если после 10-го символа нет никаких разделителей больше. Тогда нужно будет добавлять еще и это условие.

Всего записей: 1973 | Зарегистр. 18-06-2006 | Отправлено: 11:56 16-03-2020
Kaber



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Добрый вечер, возник такой вопрос: использую slick слайдер под моб.устройства. У slick есть опция - slidesToScroll, но она логична когда щелкаешь на стрелочки, а когда скролишь пальцем логично бы было останавливать прокрутку после убирания пальца - никто не сталкивался?
Сорри за вопрос, по запросу "slick slider finger switch slidesToScroll" быстро нашел решение "swipeToSlide: true"

Всего записей: 997 | Зарегистр. 14-03-2014 | Отправлено: 23:07 23-03-2020 | Исправлено: Kaber, 23:15 23-03-2020
Mavrikii

Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Kaber
а мануал посмотреть?

Цитата:
swipeToSlide
boolean
false
Allow users to drag or swipe directly to a slide irrespective of slidesToScroll
 
touchMove
boolean
true
Enable slide motion with touch

Всего записей: 8853 | Зарегистр. 20-09-2014 | Отправлено: 23:15 23-03-2020
Weinaum



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
приветствую, опять у меня вопросы.
Есть необходимость доработки страницы сравнения товаров в одной из cms. Там все реализовано в табличной верстке, и поэтому буду придерживаться этого же подхода, так как в данной системе менять кардинально шаблон без привязки к логике не получится.  
В двух словах, что есть. В стандартном решении практически никак не реализована адаптивность, и при сравнении нескольких товаров все выглядит ужасно и нужно либо отключать это сравнение на малых разрешениях, либо что то придумывать.  
Задумка ux дизайнера - горизонтальный скролл, по подобию как он реализован в каруселях и слайдерах. Т.е. по клику по навигации или же drag элемента влево-вправо  происходит скролл на величину равную ширине одного элемента, как бы одного слайда.  
Собственно, ниже пен, в котором моя попытка как то это реализовать. Таблицу оставил максимально близкой к оригиналу.  
Как бы сделал насколько хватило пока умений и знаний - если кто подскажет, как можно упростить, буду признателен.
Главное, что пока не сделал - как правильно реализовать такой же скролл не по клику, а по drag элемента? Mousemove? 
https://codepen.io/lagudal/pen/yLNwjar

Всего записей: 1973 | Зарегистр. 18-06-2006 | Отправлено: 15:29 01-04-2020
Mavrikii

Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Weinaum
возьмите любой готовый скрипт слайдера, зачем с нуля делать что то?
 

Цитата:
Как бы сделал насколько хватило пока умений и знаний - если кто подскажет, как можно упростить, буду признателен

ширину можно определять с помощью css и @media
https://www.w3schools.com/css/css_rwd_mediaqueries.asp
 

Цитата:
а по drag элемента? Mousemove? 

https://developer.mozilla.org/en-US/docs/Web/API/Touch_events/Supporting_both_TouchEvent_and_MouseEvent

Всего записей: 8853 | Зарегистр. 20-09-2014 | Отправлено: 21:12 01-04-2020
Открыть новую тему     Написать ответ в эту тему

Страницы: 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

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

Имя:
Пароль:
Сообщение

Для вставки имени, кликните на нем.

Опции сообщенияДобавить свою подпись
Подписаться на получение ответов по e-mail
Добавить тему в личные закладки
Разрешить смайлики?
Запретить коды


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

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.Board
© Ru.Board 2000-2020

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru

Рейтинг.ru