Ответ 1
window.pageYOffset
должен дать вам текущее смещение прокрутки. Там window.pageXOffset
, если вам это нужно.
Я хотел бы знать смещение x/y того, насколько пользователь "прокручивается" в окне просмотра в мобильном сафари на iphone.
Другими словами, если я (через javascript) перезагрузил текущую страницу, я бы хотел найти значения, которые мне нужно будет передать в window.scrollTo(...), чтобы переместить документ/область просмотра как это в настоящее время.
window.pageXOffset всегда сообщает 0
jquery $('body'). scrollTop() всегда сообщает 0
события имеют pageX, но это не учитывает прокрутку страницы, которая происходит после того, как вы отпустите свой палец, если ваш жест должен "щелкнуть" страницу вверх/вниз. А именно, это даст мне точку, когда палец покидает экран, но это не всегда соответствует тому, где страница будет после завершения прокрутки.
Любые указатели?
window.pageYOffset
должен дать вам текущее смещение прокрутки. Там window.pageXOffset
, если вам это нужно.
Это действительно сработает:
var scrollX = window.pageXOffset;
var scrollY = window.pageYOffset;
Если вы просматриваете контент в iFrame (что обычно используется в WebViews), вам нужно будет добавить родителя:
var scrollX = parent.window.pageXOffset;
Также обратите внимание, что эти значения не могут быть записаны. Чтобы изменить положение прокрутки, вам нужно будет использовать метод window.scrollTo:
var scrollX = window.pageXOffset;
var scrollY = window.pageYOffset;
window.scrollTo(scrollX -100, scrollY -100);
У меня была такая же проблема... это сделал трюк:
var scrollX = window.pageXOffset; var scrollY = window.pageYOffset;
Получил это из этого вопроса: Получить текущую позицию окна просмотра в Safari для мобильных устройств (iPhone)
Вы пробовали использовать чистый js?
document.body.scrollTop
Для пользователей google закрытия:
У меня была такая же проблема на iPad. Просто деактивируйте консоль. Высота окна просмотра изменяется, когда консоль открыта в Safari.
Эй! Попытайтесь пройти эту ссылку.
или попробуйте выполнить следующий код.
[myWebView stringByEvaluatingJavaScriptFromString: @"scrollY"];
на самом деле - я получил ответ от этого question.