Изначально вопрос задавался "работает onclick в мой MjDM или нет?". Есть большие подозрения, что мой MjDM перестал работать после обновления Majordomo.
[Приложение] мой MjDM (Android)
Модератор: immortal
-
- Сообщения: 194
- Зарегистрирован: Вт дек 24, 2019 2:09 pm
- Благодарил (а): 112 раз
- Поблагодарили: 34 раза
Re: [Приложение] мой MjDM (Android)
Raspberry Pi3 B+, v4.44, внешняя з/к
- tarasfrompir
- Сообщения: 3216
- Зарегистрирован: Ср мар 02, 2016 8:18 pm
- Откуда: Украина Пирятин
- Благодарил (а): 223 раза
- Поблагодарили: 816 раз
Re: [Приложение] мой MjDM (Android)
Если есть подозрения то надо сразу проверить. А потом задавать вопросы... Ну что как дети малые... Браузера нету чтоли в том же телефоне...
Для того чтобы чтото сделать надо понять -ЧТО СДЕЛАТЬ??? А тут только предположение...
Вы думаете что сейчас человек сядет и начнет проверять - я на 90 % уверен что у него и мажордомо нету....
А пишет и правит лишь из за того что жалко выкинуть свою работу....
ПС
В вашем сообщении вот что было - После крайнего обновления Majordomo (Мастер) и давно уже на альфе, перестали работать кнопки в сценах (не работает onclick) вот с таким кодом:
Где тут написано - именно в приложении мой MjDM ???
Пишите точнее - чтобы не сбивать с толку -
ППС
onclick="commandС1('%Relay04.auto%','Relay04.auto');" - такой функции не существует в файле
https://github.com/sergejey/majordomo/b ... scripts.js
Может это она глючит весь шаблон ?
ПППС
И может бы это доработать ? src="..................... чтобы был полный путь к файлу
Спасибо нам ПОМОЖЕТ..!
-
- Сообщения: 194
- Зарегистрирован: Вт дек 24, 2019 2:09 pm
- Благодарил (а): 112 раз
- Поблагодарили: 34 раза
Re: [Приложение] мой MjDM (Android)
Выше я уже писал, что в Хроме на Андройде ВСЕ РАБОТАЕТ!tarasfrompir писал(а): ↑Ср апр 14, 2021 10:49 amЕсли есть подозрения то надо сразу проверить. А потом задавать вопросы... Ну что как дети малые... Браузера нету чтоли в том же телефоне...
Для того чтобы что-то сделать надо понять -ЧТО СДЕЛАТЬ??? А тут только предположение...
А тема какая??? Не мой MjDM ???tarasfrompir писал(а): ↑Ср апр 14, 2021 10:49 amГде тут написано - именно в приложении мой MjDM ???
Функцию не стал дописывать т.к. ни функция не методы не работаютtarasfrompir писал(а): ↑Ср апр 14, 2021 10:49 amonclick="commandС1('%Relay04.auto%','Relay04.auto');" - такой функции не существует в файле
За подсказку спасибо, буду разбираться !
А вот хамить не надо !!!
Raspberry Pi3 B+, v4.44, внешняя з/к
- tarasfrompir
- Сообщения: 3216
- Зарегистрирован: Ср мар 02, 2016 8:18 pm
- Откуда: Украина Пирятин
- Благодарил (а): 223 раза
- Поблагодарили: 816 раз
Re: [Приложение] мой MjDM (Android)
Ни капли хамства в моих словах - поскольку много и везде и постоянно все чего то спрашивают даже не удосужившись потом ответить сделал или не сделал ... Не говоря уже о благодарности элементарной...
Поэтому и было так расширено написано - и кстати нигде нету даже намека на попытку хамства....
Если чего не так поняли - то укажите где и что не так написал - я исправлю , с абсолютным удовольствием
Спасибо нам ПОМОЖЕТ..!
- hc2hunter
- Сообщения: 507
- Зарегистрирован: Сб дек 02, 2017 10:45 am
- Откуда: RUS
- Благодарил (а): 228 раз
- Поблагодарили: 348 раз
Re: [Приложение] мой MjDM (Android)
Majordomo у меня есть, если речь про меня )))tarasfrompir писал(а): ↑Ср апр 14, 2021 10:49 amВы думаете что сейчас человек сядет и начнет проверять - я на 90 % уверен что у него и мажордомо нету....
У меня на нем весь умный дом построен.
Приложение правлю и пишу из подозрений, что кому-то нужна моя разработка...?tarasfrompir писал(а): ↑Ср апр 14, 2021 10:49 amА пишет и правит лишь из за того что жалко выкинуть свою работу....
Если нет - то действительно наверное стоит выкинуть...
Сам лично пользуюсь только своей программой, поскольку оригинальная в свое время была признана (мной) неудобной. Да и не умела она ничего... Сейчас не знаю что изменилось. Может давно уже может все что моя?
По сути проблемы - действительно системный WebView обработчик не всегда соответствует последним html и css веяниям. Вы не поверите, сколько костылей понапихано в тот же Хром, чтобы он поддерживал различные извращения и описанные выше конструкции кода на разных сайтах.
Из-за этого и из-за поддержки кучи платформ он и сам весит давно под 100Мб (хотя реально браузерный движок там занимает от силы 5).
Что касается диагностики самой проблемы, то я не вижу в приведенном коде чего-то странного. onclick обязан отрабатывать. У меня в сценах подобной проблемы нет, хоть я и не использую именно такие конструкции как описаны выше.
Из рекомендаций - на других устройствах тоже не работает, или только на каком-то конкретном? А если подключить мышь? (да-да, самую обычную USB-мышь) - клик тоже не работает?
А в оригинальном приложении от разработчиков - работает?
Ну и последнее - если с последними обновлениями MDM движком php случайно сломали какие-то механизмы в DOM-модели, но которым удается функционировать через workaround-ы в мощных браузерах типа Хрома, то значит это не работает где-то еще, а не только в myMjDM.
- Рейтинг: 1.16%
-
- Сообщения: 194
- Зарегистрирован: Вт дек 24, 2019 2:09 pm
- Благодарил (а): 112 раз
- Поблагодарили: 34 раза
Re: [Приложение] мой MjDM (Android)
Спасибо за ответ !
Про мышку я как-то не подумал, на данных момент нет переходника. Завтра пойду в магазин.
Если не тайна, как у Вас реализованы сцены/кнопки ?
Не работает на телефонах и планшетах (вот правда все андроид 4.4), почему я и пытался откликнуться форумчан, узнать как у них работает, но...
Про мышку я как-то не подумал, на данных момент нет переходника. Завтра пойду в магазин.
Raspberry Pi3 B+, v4.44, внешняя з/к
- hc2hunter
- Сообщения: 507
- Зарегистрирован: Сб дек 02, 2017 10:45 am
- Откуда: RUS
- Благодарил (а): 228 раз
- Поблагодарили: 348 раз
Re: [Приложение] мой MjDM (Android)
да в общем-то ничего необычного...
вот один из примеров:
Код: Выделить всё
<div style="cursor:pointer;" onclick="openWindow('01'); $('#sliderdialog,#overlay').show();">
...
</div>
Вы поаккуратнее оперируйте вставками через %%, типа onclick="commandС1('%Relay04.auto%','Relay04.auto');". Тут надо четко понимать, что php должен успеть вставить в тело кода значение быстрее, чем начнет работать DOM-модель, иначе логика сломается.
Поэтому, в приведенных Вами примерах явных ошибок не видно, все должно работать. А вот если рассмотреть в отдельном контексте, что вы там творите в теле страниц и в js, может и найдутся нестыковки...
Ну и также отлаживайте реакцию страниц и кнопок через обычные alert().
Другое дело, если что-то серьезное сломалось именно под 4.4... Это куда печальнее, там обновлений WebView уже никогда не будет. И мне ошибки тоже никак не отловить, т.к. в эмуляторе по виду все хорошо...
- Рейтинг: 1.16%
- hc2hunter
- Сообщения: 507
- Зарегистрирован: Сб дек 02, 2017 10:45 am
- Откуда: RUS
- Благодарил (а): 228 раз
- Поблагодарили: 348 раз
Re: [Приложение] мой MjDM (Android)
например сделайте
onclick="alert('клик сработал!'); commandС1('%Relay04.auto%','Relay04.auto');"
ну и т.д... т.п...
onclick="alert('клик сработал!'); commandС1('%Relay04.auto%','Relay04.auto');"
ну и т.д... т.п...
- Рейтинг: 1.16%
-
- Сообщения: 194
- Зарегистрирован: Вт дек 24, 2019 2:09 pm
- Благодарил (а): 112 раз
- Поблагодарили: 34 раза
Re: [Приложение] мой MjDM (Android)
Сообщение 'клик сработал!' появляется, но до функции не доходит. Знаю, что мои функции мягко сказать карявые, но и стандартные callMethod и ajaxSetGlobal не работают.
И для проверки установил ТВ-пульт с маркета, у которого кнопки обрабатываются по тому-же принципу (onclick=callMethod ...), та-же фигня.
Проблема явно не в коде.
На днях попробую на других девайсах.
Raspberry Pi3 B+, v4.44, внешняя з/к
- hc2hunter
- Сообщения: 507
- Зарегистрирован: Сб дек 02, 2017 10:45 am
- Откуда: RUS
- Благодарил (а): 228 раз
- Поблагодарили: 348 раз
Re: [Приложение] мой MjDM (Android)
Ну вот видите... значит все-таки onClick работает корректно, то есть с движком браузера все в порядке, а не срабатывает сама функция.
Самый простой способ - везде понаставить alert'ов отслеживать где затыкается. То есть дальше перенесите alert в вызываемую функцию, отследите какие данные в нее передаются, и какие уже попадают по факту.
Может где-то ошибка типов? В функцию передается символ, а ожидается число, ну и т.п...
Также попробуйте на компьютере отладить код, просматривая лог javascript в консоли. Вполне возможно там куча "красных" ошибок, которые мощные браузеры прощают, а мобильные - нет.
То же самое касается и разметки... Иногда поступают жалобы, что в одном браузере выглядит так, в настольном эдак, а в приложении вообще по-своему...
Учите разметку, не игнорируйте стандарты и "стрикты". Стремитесь к универсальному коду, который красиво смотрится и в руках и на десктопах. В конце-концов, берите за образцы готовые css-фреймворки типа https://getbootstrap.com
Самый простой способ - везде понаставить alert'ов отслеживать где затыкается. То есть дальше перенесите alert в вызываемую функцию, отследите какие данные в нее передаются, и какие уже попадают по факту.
Может где-то ошибка типов? В функцию передается символ, а ожидается число, ну и т.п...
Также попробуйте на компьютере отладить код, просматривая лог javascript в консоли. Вполне возможно там куча "красных" ошибок, которые мощные браузеры прощают, а мобильные - нет.
То же самое касается и разметки... Иногда поступают жалобы, что в одном браузере выглядит так, в настольном эдак, а в приложении вообще по-своему...
Учите разметку, не игнорируйте стандарты и "стрикты". Стремитесь к универсальному коду, который красиво смотрится и в руках и на десктопах. В конце-концов, берите за образцы готовые css-фреймворки типа https://getbootstrap.com
- Рейтинг: 1.16%