[Приложение] мой MjDM (Android)

Разработка дополнительных модулей, подключение различных приложений.

Модератор: immortal

homester
Сообщения: 194
Зарегистрирован: Вт дек 24, 2019 2:09 pm
Благодарил (а): 112 раз
Поблагодарили: 34 раза

Re: [Приложение] мой MjDM (Android)

Сообщение homester » Ср апр 14, 2021 9:14 am

tarasfrompir писал(а):
Ср апр 14, 2021 7:07 am
Вопрос не по теме - вот и не отвечает никто
Изначально вопрос задавался "работает onclick в мой MjDM или нет?". Есть большие подозрения, что мой MjDM перестал работать после обновления Majordomo.
Raspberry Pi3 B+, v4.44, внешняя з/к
Аватара пользователя
tarasfrompir
Сообщения: 3216
Зарегистрирован: Ср мар 02, 2016 8:18 pm
Откуда: Украина Пирятин
Благодарил (а): 223 раза
Поблагодарили: 815 раз

Re: [Приложение] мой MjDM (Android)

Сообщение tarasfrompir » Ср апр 14, 2021 10:49 am

homester писал(а):
Ср апр 14, 2021 9:14 am
tarasfrompir писал(а):
Ср апр 14, 2021 7:07 am
Вопрос не по теме - вот и не отвечает никто
Изначально вопрос задавался "работает onclick в мой MjDM или нет?". Есть большие подозрения, что мой MjDM перестал работать после обновления Majordomo.
Если есть подозрения то надо сразу проверить. А потом задавать вопросы... Ну что как дети малые... Браузера нету чтоли в том же телефоне...
Для того чтобы чтото сделать надо понять -ЧТО СДЕЛАТЬ??? А тут только предположение...
Вы думаете что сейчас человек сядет и начнет проверять - я на 90 % уверен что у него и мажордомо нету....
А пишет и правит лишь из за того что жалко выкинуть свою работу....

ПС
В вашем сообщении вот что было - После крайнего обновления Majordomo (Мастер) и давно уже на альфе, перестали работать кнопки в сценах (не работает onclick) вот с таким кодом:
Где тут написано - именно в приложении мой MjDM ???
Пишите точнее - чтобы не сбивать с толку -

ППС
onclick="commandС1('%Relay04.auto%','Relay04.auto');" - такой функции не существует в файле
https://github.com/sergejey/majordomo/b ... scripts.js
Может это она глючит весь шаблон ?

ПППС
И может бы это доработать ? src="..................... чтобы был полный путь к файлу
Спасибо нам ПОМОЖЕТ..!
homester
Сообщения: 194
Зарегистрирован: Вт дек 24, 2019 2:09 pm
Благодарил (а): 112 раз
Поблагодарили: 34 раза

Re: [Приложение] мой MjDM (Android)

Сообщение homester » Ср апр 14, 2021 12:54 pm

tarasfrompir писал(а):
Ср апр 14, 2021 10:49 am
Если есть подозрения то надо сразу проверить. А потом задавать вопросы... Ну что как дети малые... Браузера нету чтоли в том же телефоне...
Для того чтобы что-то сделать надо понять -ЧТО СДЕЛАТЬ??? А тут только предположение...
Выше я уже писал, что в Хроме на Андройде ВСЕ РАБОТАЕТ!
tarasfrompir писал(а):
Ср апр 14, 2021 10:49 am
Где тут написано - именно в приложении мой MjDM ???
А тема какая??? Не мой MjDM ???
tarasfrompir писал(а):
Ср апр 14, 2021 10:49 am
onclick="commandС1('%Relay04.auto%','Relay04.auto');" - такой функции не существует в файле
Функцию не стал дописывать т.к. ни функция не методы не работают

За подсказку спасибо, буду разбираться !
А вот хамить не надо !!!
Raspberry Pi3 B+, v4.44, внешняя з/к
Аватара пользователя
tarasfrompir
Сообщения: 3216
Зарегистрирован: Ср мар 02, 2016 8:18 pm
Откуда: Украина Пирятин
Благодарил (а): 223 раза
Поблагодарили: 815 раз

Re: [Приложение] мой MjDM (Android)

Сообщение tarasfrompir » Ср апр 14, 2021 1:39 pm

homester писал(а):
Ср апр 14, 2021 12:54 pm
За подсказку спасибо, буду разбираться !
А вот хамить не надо !!!
Ни капли хамства в моих словах - поскольку много и везде и постоянно все чего то спрашивают даже не удосужившись потом ответить сделал или не сделал ... Не говоря уже о благодарности элементарной...
Поэтому и было так расширено написано - и кстати нигде нету даже намека на попытку хамства....
Если чего не так поняли - то укажите где и что не так написал - я исправлю , с абсолютным удовольствием :lol: :D :) ;) ;) ;)
Спасибо нам ПОМОЖЕТ..!
Аватара пользователя
hc2hunter
Сообщения: 507
Зарегистрирован: Сб дек 02, 2017 10:45 am
Откуда: RUS
Благодарил (а): 228 раз
Поблагодарили: 348 раз

Re: [Приложение] мой MjDM (Android)

Сообщение hc2hunter » Чт апр 15, 2021 10:22 am

tarasfrompir писал(а):
Ср апр 14, 2021 10:49 am
Вы думаете что сейчас человек сядет и начнет проверять - я на 90 % уверен что у него и мажордомо нету....
Majordomo у меня есть, если речь про меня )))
У меня на нем весь умный дом построен.

tarasfrompir писал(а):
Ср апр 14, 2021 10:49 am
А пишет и правит лишь из за того что жалко выкинуть свою работу....
Приложение правлю и пишу из подозрений, что кому-то нужна моя разработка...? :|
Если нет - то действительно наверное стоит выкинуть...
Сам лично пользуюсь только своей программой, поскольку оригинальная в свое время была признана (мной) неудобной. Да и не умела она ничего... Сейчас не знаю что изменилось. Может давно уже может все что моя?


По сути проблемы - действительно системный WebView обработчик не всегда соответствует последним html и css веяниям. Вы не поверите, сколько костылей понапихано в тот же Хром, чтобы он поддерживал различные извращения и описанные выше конструкции кода на разных сайтах.
Из-за этого и из-за поддержки кучи платформ он и сам весит давно под 100Мб (хотя реально браузерный движок там занимает от силы 5).
Что касается диагностики самой проблемы, то я не вижу в приведенном коде чего-то странного. onclick обязан отрабатывать. У меня в сценах подобной проблемы нет, хоть я и не использую именно такие конструкции как описаны выше.
Из рекомендаций - на других устройствах тоже не работает, или только на каком-то конкретном? А если подключить мышь? (да-да, самую обычную USB-мышь) - клик тоже не работает?
А в оригинальном приложении от разработчиков - работает?

Ну и последнее - если с последними обновлениями MDM движком php случайно сломали какие-то механизмы в DOM-модели, но которым удается функционировать через workaround-ы в мощных браузерах типа Хрома, то значит это не работает где-то еще, а не только в myMjDM.
За это сообщение автора hc2hunter поблагодарил:
homester (Чт апр 15, 2021 12:39 pm)
Рейтинг: 1.16%
homester
Сообщения: 194
Зарегистрирован: Вт дек 24, 2019 2:09 pm
Благодарил (а): 112 раз
Поблагодарили: 34 раза

Re: [Приложение] мой MjDM (Android)

Сообщение homester » Чт апр 15, 2021 12:39 pm

Спасибо за ответ !
hc2hunter писал(а):
Чт апр 15, 2021 10:22 am
У меня в сценах подобной проблемы нет, хоть я и не использую именно такие конструкции как описаны выше.
Если не тайна, как у Вас реализованы сцены/кнопки ?
hc2hunter писал(а):
Чт апр 15, 2021 10:22 am
Из рекомендаций - на других устройствах тоже не работает, или только на каком-то конкретном? А если подключить мышь? (да-да, самую обычную USB-мышь) - клик тоже не работает?
Не работает на телефонах и планшетах (вот правда все андроид 4.4), почему я и пытался откликнуться форумчан, узнать как у них работает, но...
Про мышку я как-то не подумал, на данных момент нет переходника. Завтра пойду в магазин.
Raspberry Pi3 B+, v4.44, внешняя з/к
Аватара пользователя
hc2hunter
Сообщения: 507
Зарегистрирован: Сб дек 02, 2017 10:45 am
Откуда: RUS
Благодарил (а): 228 раз
Поблагодарили: 348 раз

Re: [Приложение] мой MjDM (Android)

Сообщение hc2hunter » Чт апр 15, 2021 1:21 pm

homester писал(а):
Чт апр 15, 2021 12:39 pm
Если не тайна, как у Вас реализованы сцены/кнопки ?
да в общем-то ничего необычного...
вот один из примеров:

Код: Выделить всё

<div style="cursor:pointer;" onclick="openWindow('01'); $('#sliderdialog,#overlay').show();">
   ...
</div>
Обновление MDM стоит последнее, стабильная версия.

Вы поаккуратнее оперируйте вставками через %%, типа onclick="commandС1('%Relay04.auto%','Relay04.auto');". Тут надо четко понимать, что php должен успеть вставить в тело кода значение быстрее, чем начнет работать DOM-модель, иначе логика сломается.
Поэтому, в приведенных Вами примерах явных ошибок не видно, все должно работать. А вот если рассмотреть в отдельном контексте, что вы там творите в теле страниц и в js, может и найдутся нестыковки...
Ну и также отлаживайте реакцию страниц и кнопок через обычные alert().

Другое дело, если что-то серьезное сломалось именно под 4.4... Это куда печальнее, там обновлений WebView уже никогда не будет. И мне ошибки тоже никак не отловить, т.к. в эмуляторе по виду все хорошо... :?
За это сообщение автора hc2hunter поблагодарил:
homester (Чт апр 15, 2021 1:31 pm)
Рейтинг: 1.16%
Аватара пользователя
hc2hunter
Сообщения: 507
Зарегистрирован: Сб дек 02, 2017 10:45 am
Откуда: RUS
Благодарил (а): 228 раз
Поблагодарили: 348 раз

Re: [Приложение] мой MjDM (Android)

Сообщение hc2hunter » Чт апр 15, 2021 1:33 pm

например сделайте
onclick="alert('клик сработал!'); commandС1('%Relay04.auto%','Relay04.auto');"

ну и т.д... т.п...
За это сообщение автора hc2hunter поблагодарил:
homester (Чт апр 15, 2021 2:37 pm)
Рейтинг: 1.16%
homester
Сообщения: 194
Зарегистрирован: Вт дек 24, 2019 2:09 pm
Благодарил (а): 112 раз
Поблагодарили: 34 раза

Re: [Приложение] мой MjDM (Android)

Сообщение homester » Чт апр 15, 2021 2:37 pm

hc2hunter писал(а):
Чт апр 15, 2021 1:33 pm
например сделайте
onclick="alert('клик сработал!'); commandС1('%Relay04.auto%','Relay04.auto');"
ну и т.д... т.п...
Сообщение 'клик сработал!' появляется, но до функции не доходит. Знаю, что мои функции мягко сказать карявые, но и стандартные callMethod и ajaxSetGlobal не работают.
И для проверки установил ТВ-пульт с маркета, у которого кнопки обрабатываются по тому-же принципу (onclick=callMethod ...), та-же фигня.
Проблема явно не в коде.
На днях попробую на других девайсах.
Raspberry Pi3 B+, v4.44, внешняя з/к
Аватара пользователя
hc2hunter
Сообщения: 507
Зарегистрирован: Сб дек 02, 2017 10:45 am
Откуда: RUS
Благодарил (а): 228 раз
Поблагодарили: 348 раз

Re: [Приложение] мой MjDM (Android)

Сообщение hc2hunter » Пт апр 16, 2021 11:29 am

Ну вот видите... значит все-таки onClick работает корректно, то есть с движком браузера все в порядке, а не срабатывает сама функция.
Самый простой способ - везде понаставить alert'ов отслеживать где затыкается. То есть дальше перенесите alert в вызываемую функцию, отследите какие данные в нее передаются, и какие уже попадают по факту.
Может где-то ошибка типов? В функцию передается символ, а ожидается число, ну и т.п...

Также попробуйте на компьютере отладить код, просматривая лог javascript в консоли. Вполне возможно там куча "красных" ошибок, которые мощные браузеры прощают, а мобильные - нет.

То же самое касается и разметки... Иногда поступают жалобы, что в одном браузере выглядит так, в настольном эдак, а в приложении вообще по-своему...
Учите разметку, не игнорируйте стандарты и "стрикты". Стремитесь к универсальному коду, который красиво смотрится и в руках и на десктопах. В конце-концов, берите за образцы готовые css-фреймворки типа https://getbootstrap.com
За это сообщение автора hc2hunter поблагодарил:
homester (Пт апр 16, 2021 1:24 pm)
Рейтинг: 1.16%
Ответить