как установить высоту iframe в webView, чтобы соответствовать высоте динамически загружаемого контента - PullRequest
0 голосов
/ 29 ноября 2018

С приложением Android, имеющим listView, у каждого элемента есть WebView, который загружает html.

wv.loadDataWithBaseURL (baseUrl, htmlStr, "text / html", "UTF-8", null)

htmlStr имеет шаблон и заполнен различными параметрами для элемента в другой позиции:

<Html>
<head><meta http-equiv="Content-Security-Policy" 
       content="upgrade-insecure-requests">
       <link rel="stylesheet" type="text/css" href="android_asset/css/data-details.css">
</head>
<body>

<p> content part1 </p>

<p>
<iframe width="100% !important" height="800px"
  src="//internalapi.com/external/widget/partner-widget.php?height=800px&amp;
  width=640px&amp;param1=p1&amp;param2=p2&amp" frameborder="0" scrolling="no" allowfullscreen="">
</iframe>
</p>

<p> content part2 </p>

</body>
</html>

единственный стиль, который имеет этот html-шаблон (кроме загрузки содержимого html 3-й части в iframe):

body {
        display: block;
        margin: 8px;
}

iframe {
        width: 100% !important;
}

iframe загружает html-контент от третьей стороны, html-контент имеет таблицу с разным количеством строк.таким образом, дисплей состоит из трех частей:

[часть содержимого 1]

[часть документа iframe, которая загружает HTML-файл с таблицей]

[часть содержимого 2]

  1. при использовании height = "800px" <iframe width="100% !important" height="800px">

всегда отображается с 800px и иногда, если в таблице нет строк, поэтому под пустым пространством отображается большое пустое пространство.заголовок таблицы.

, и если в таблице больше строк, некоторые строки внизу не будут отображаться (и при этом не происходит прокрутка, не имеет значения, следует ли установить scrolling = "yes" или "no". При попыткедля прокрутки содержимого таблицы прокручивается весь список)

при использовании height = "auto" <iframe width="100% !important" height="auto">

Часть содержимого iframe показывается только с небольшой высоты (время просмотра - 150 пикселей)

при использовании height = "100%! Важный" <iframe width="100% !important" height="100% !important">

часть содержимого iframe показывает только полосу высотой 8 пикселей.

Вопрос:

В веб-представлении, когда html, который он размещает, имеет внутри iframe, и iframe динамически загружает свое содержимое,
и содержимое может иметь нестатическую высоту, как заставить iframe показывать все содержимое с такой же высотой, что и высота содержимого html?

...