Про батарейку

  • Автор темы Автор темы luk911
  • Дата начала Дата начала

luk911

Client
Регистрация
17.01.2013
Сообщения
1 542
Реакции
581
Баллы
113
Продолжу тему начатую вот тут https://zennolab.com/discussion/thr...muljaciju-batarei-v-chrome.81583/#post-546064

Приглашаю в тему arhip1985

Собственно его код и будем обсуждать. Файл проекта во вложении.
Собственно что меня смутило, смутило то что на странице проверки, а насколько я помню это была официальный пример указанный в документации на мозили http://robnyman.github.io/battery/
так вот на этой странице код arhip1985 вообще не хочет работать никак.

Второй момент, я пытался играться с диапозонами и не понял какие диапозоны допустимы.
Я имею ввиду
dischargingTime: 7929751,
level: 0.43

часто при изменении этих параметров в том числе и этот сайт http://pazguille.github.io/demo-battery-api/
начинает показывать 100%
 

Вложения

Проблема в js в том, что в любой момент код может слететь, а выполнять его каждый шаг такое себе.
 
  • Оценить
Реакции: zarufakis и luk911
1. Кто подскажет как сделать для C# instance.ActiveTab.MainDocument.EvaluateScript(s); чтобы выставились параметры как в кубике?
61004
2. В этой эмуляции баратейки глобальные косяки

-1 Это считай каждый раз надо для каждой вновь открываемой вкладки делать. Что просто жесть.
-2 Тут есть параметр dischargingTime, который тикает. Т.е. сайт же может опрашивать его 10 раз в секунду и что? Это как то можно заэмулировать самому? тут только сами разрабы могут это ввести
-3 Возможно менее паливано показывать что мобильное устройство полностью заряжено и находится на зарядке, чем давать несоответствие заряда батареи и времени разрядки. ИМХО - это криво, но менее паливно.
 
По идеи, конечно этому апи осталось жить пару месяцев, остальное будет по W3C большую часть проверок которых, Зинаида проходит. Но есть и те, которые нет.
 
По идеи, конечно этому апи осталось жить пару месяцев, остальное будет по W3C большую часть проверок которых, Зинаида проходит. Но есть и те, которые нет.
Ничего не понятно из сказанного)
 
Ничего не понятно из сказанного)

 
  • Оценить
Реакции: Mikhail B.

interface BatteryManager : EventTarget { readonly attribute boolean charging; readonly attribute unrestricted double chargingTime; readonly attribute unrestricted double dischargingTime; readonly attribute double level; attribute EventHandler onchargingchange; attribute EventHandler onchargingtimechange; attribute EventHandler ondischargingtimechange; attribute EventHandler onlevelchange; };

Что-то, на мой взгляд, еще хуже стало с тем, что надо эмулировать и что по времени само должно меняться в фоне.
 
Что-то, на мой взгляд, еще хуже стало с тем, что надо эмулировать и что по времени само должно меняться в фоне.
Чем больше вникаешь, тем больше понимаеш что мы под колпаком. А кто-то еще верит в анонимность и свободу слова.
 
в том коде я менял
dischargingTime: 7929751, - это время без зарядки, просто на глаз прикинул за какое время время так разрядится телефон
level: 0.43 - это уровень заряда батареи, для подмены в жс коде ставил 0.{-Variable.rndbuttery-} (предварительно в кубике генерил случайное число от 10 до 90 и устанавливал в переменную rndbuttery)

в коде там два раза эти параметры вставляются и когда вставляю рандомные значения из диапазона - то всегда показывает как указал - на сайте - http://pazguille.github.io/demo-battery-api/

но чтобы корректно определялось на других сайтах надо ещё эмулировать события:
attribute EventHandler onchargingchange;
attribute EventHandler onchargingtimechange;
attribute EventHandler ondischargingtimechange;
attribute EventHandler onlevelchange;

т.е. для каждого события писать эмуляцию и эти события должны менять соответствующие параметры
dischargingTime: 7929751
level: 0.43
(другие два параметра могут быть статичными - поскольку батарея либо заряжается, либо разряжается)
в жс не разбираюсь сейчас настолько глубоко, чтобы написать это.
в том коде, что выкладывал просто подменяются отдельные параметры через создания proxy для вызова гетбаттери, но там только свойства без событий
dischargingTime
level
, а по хорошему надо писать полноценный new Promise со всеми событиями батареи и его передавать через прокси при вызове гетбаттери
 
  • Оценить
Реакции: luk911
  • Оценить
Реакции: luk911 и Iv1
У кого нибудь есть решение может сниппет в этом направлении, прочитал всю ветку, ничего не понял. Работаю с сайтом который палит батарейку
 

Кто просматривает тему: (Всего: 0, Пользователи: 0, Гости: 0)