Получить полное содержание iframe - PullRequest
0 голосов
/ 21 февраля 2020

Как я могу получить полное содержание iframe? Содержимое iframe находится в том же домене. Мне нужно иметь контент с оригинальным форматированием. Я пробовал что-то вроде этого:

var iframe_content = document.getElementById("wwwScreen").contentWindow.document.documentElement.outerHTML

Это возвращает содержимое в неправильном формате, например

<html lang="en"><head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">

Мне нужно содержимое с правильным форматированием, например

<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">

Я также попробовал XMLSerializer но у меня была такая же ситуация. Возвращаемый контент должен быть строкой

1 Ответ

0 голосов
/ 21 февраля 2020

Форматирование будет зависеть от размера экрана или в вашем случае от размера iframe, поэтому просто установите высоту и ширину iframe равными 100%, чтобы они соответствовали вашему экрану, за исключением того, что% вместо px не будет работать для Высота экрана, если вы не используете эту функцию для расчета, получите высоту вашего экрана:

function takeHeight(){
  var myHeight = 0;
  if( typeof( window.innerHeight ) == 'number' ) {
    //Non-IE
    myHeight = window.innerHeight;
  } else if( document.documentElement && (document.documentElement.clientHeight) ) {
    //IE 6+ in 'standards compliant mode'
    myHeight = document.documentElement.clientHeight;
  } else if( document.body && (document.body.clientHeight ) ) {
    //IE 4 compatible
    myHeight = document.body.clientHeight;
  }
  return myHeight;
}

Эта функция возвращает высоту вашего экрана, чтобы просто установить высоту и ширину вашего фрейма в нечто вроде этого :

MyIframe.style.height = takeHeight() + 'px';
MyIframe.style.width = '100%';

И это должно сделать.

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