Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 04.07.2017, 11:07
Аспирант
Отправить личное сообщение для iamme Посмотреть профиль Найти все сообщения от iamme
 
Регистрация: 02.09.2011
Сообщений: 46

getboundingclientrect не работает в режиме эмулиции мобильного
Функция getBoundingClientRect() почему-то работает некорректно, если в Google Chrome выбрать режим эмуляции мобильного device mode. Несмотря на прокрутку, значение показывается одно и то же (хотя иногда меняется, причины непостоянного поведения тоже неизвестны).

Ну для примера, вот тут http://grozza.ru/kak-ustanovit-antiv...ast-besplatno/ заголовок остается с одними и теми же координатами при прокрутке (то есть, сначала вроде меняется, но потом все зависает и не меняется).
document.getElementsByClassName('entry-title')[0].getBoundingClientRect().top

ClientRect {top: 157.60000610351562, right: 355.20001220703125, bottom: 258.4000244140625, left: 20, width: 335.20001220703125…}bottom: 258.4000244140625height: 100.80000305175781left: 20right: 355.20001220703125top: 157.60000610351562width: 335.20001220703125__proto__: ClientRect

Выбираю режим эмуляции Iphone 6.


Координата top всегда 157, и хоть убейся!
Ответить с цитированием
  #2 (permalink)  
Старый 04.07.2017, 14:59
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

У меня работает все и 6+ и 6.
может пример сделаете, поможем разобраться.
Ответить с цитированием
  #3 (permalink)  
Старый 24.07.2017, 17:36
Аспирант
Отправить личное сообщение для iamme Посмотреть профиль Найти все сообщения от iamme
 
Регистрация: 02.09.2011
Сообщений: 46

Я даже не знаю, какой тут пример делать - скрипт в смысле? Я просто запускаю две команды из консоли - первая скроллит элемент, так что его координата top должна встать в 0, вторая команда выводит координату, и оказывается, что она не ноль.
Вот скриншот https://hostingkartinok.com/show-ima...e1451e33930771

PS А что значит свойство эмуляции Settings->More Tools->Forced Enabled? Просто может в каких-то настройках дело, я как включила свойство, эмулированный экран покрупнее стал и в первый момент координата 0 вывелась, но потом снова застряла на фиксированном ненулевом значении
Ответить с цитированием
  #4 (permalink)  
Старый 24.07.2017, 17:37
Аспирант
Отправить личное сообщение для iamme Посмотреть профиль Найти все сообщения от iamme
 
Регистрация: 02.09.2011
Сообщений: 46

Вот команды с выводом:
document.getElementsByClassName('entry-title')[0].scrollIntoView(true)
undefined
document.getElementsByClassName('entry-title')[0].getBoundingClientRect().top
157.60000610351562
Ответить с цитированием
  #5 (permalink)  
Старый 07.11.2017, 07:58
Аспирант
Отправить личное сообщение для iamme Посмотреть профиль Найти все сообщения от iamme
 
Регистрация: 02.09.2011
Сообщений: 46

В общем проблема была похоже в том, что к ноутбуку был подключен монитор. Без монитора пока что проблемы не наблюдается.

Почему без эмуляции мобильного с монитором проблемы не возникало неясно. В общем механизм возникновения этой проблемы загадка.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
innerHTML для TR в InternetExplorer не работает? Непонятливый Элементы интерфейса 3 15.10.2012 17:14
JS: работает на сервере, не работает из папки -majestic- Общие вопросы Javascript 2 02.08.2012 14:41
Не работает push! Динамическая вставка TSEH25 ExtJS 5 03.07.2012 13:00
jQyery функция странно работает! Midel Общие вопросы Javascript 4 08.04.2012 13:40
помогите найти ошибку (работает в IE но не работает в Firefox) Len4ik Javascript под браузер 2 11.05.2010 15:41