Веб-просмотр с iframe на Android, позиция ссылки не обновляется при прокрутке - PullRequest
0 голосов
/ 12 октября 2011

Я работаю с приложением для Android, которое имеет 3 фрейма,

  1. top (title)
  2. внизу слева (навигация)
  3. внизу справа (данные)

и пользователь может нажать на определенное изображение в iframe 3, чтобы открыть всплывающее окно для подробной информации.

например. В координате (100, 100) в iframe 3 у меня есть picture1, который имеет гиперссылку на detail1. Имеет смысл, когда я запускаю приложение и нажимаю (100,100), появится всплывающее окно detail1. Но странная вещь в том, что даже если я прокручиваю (вниз) к другой странице, которой изображение1 не видно, я нажимаю относительную координату (100,100), деталь1 все еще выскакивает.

Кажется, позиция первого экрана была кэширована и не обновлялась при прокрутке. Я протестировал, чтобы сделать ее простой HTML-страницей без iframe, такой проблемы нет. Кто-нибудь сталкивался с подобной проблемой и может поделиться своим опытом?

Ответы [ 2 ]

1 голос
/ 20 ноября 2013

Возможно, это устарело, и никто не заинтересован в этом решении, но я столкнулся с этой проблемой, и я нашел обходной путь для достижения желаемого поведения.

В моем случае у меня есть div, который оборачивает iframe следующим образом:

 <div id="iFrameContainer">
    <iframe frameborder="0" id='iframe' width='100%' src=''  style="display: none;"    onload="loadIframe();"> </iframe>  
 </div>

Тогда в моем CSS



    #iFrameContainer {
     overflow: auto;
    }

И затем в коде JS (и это самое важное) необходимо установить значение высоты iframe в соответствии с содержимым iframe.



    resizeIframe(document.getElementById('iFrameContainer'));

    function resizeIframe(obj) {
      console.log("RESIZING");
      obj.style.height = obj.contentWindow.document.body.scrollHeight + 'px';
      obj.contentWindow.document.body.style.overflow ="none";
    }

Надеюсь, вам все еще нужно решение

1 голос
/ 20 февраля 2012

У меня такая же проблема.

Проект, над которым я работаю, загружает длинный документ с элементами формы в IFRAME. Пока IFRAME не прокручивается, все в порядке, но при прокрутке события отправляются с неправильными координатами поддокумента во фрейме.

Моя теория проблемы заключается в том, что iframe вычисляет координаты события относительно начала координат (верхний левый угол), но «забывает» добавить смещение прокрутки перед распространением события в содержащемся документе. Эта теория основана на большом количестве полей ввода, прокрутке контролируемой суммы и наблюдении за активацией полей (флажков).

Я также сообщил об этом как http://code.google.com/p/android/issues/detail?id=25766

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...