Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 01.10.2017, 16:49
Интересующийся
Отправить личное сообщение для Scheme Посмотреть профиль Найти все сообщения от Scheme
 
Регистрация: 06.01.2014
Сообщений: 22

Как поместить в переменную someVariable, все содержимое iframe
Друзья, помогите с явно ламерской задачей млин!
Как поместить в переменную someVariable, все содержимое iframe id="someID", то есть вложенный документ #document со всем его содержимым.

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Document</title>
</head>
<body>
<iframe id="someId" class="someClass">
  
  #document
    <!DOCTYPE html>
    <html lang="en">
    <head>
      <meta charset="UTF-8">
      <title>Document</title>
    </head>
    <body>
    </body>
    </html>
  
</iframe>
</body>
</html>


Такой вариант = undefined
var someVariable= document.getElementsByTagName("iframe").innerHTML;


а так все дерево, не катит!
document.documentElement.innerHTML


Может в связке с php или можно средствами js.
Ответить с цитированием
  #2 (permalink)  
Старый 01.10.2017, 17:20
Аватар для void()
Профессор
Отправить личное сообщение для void() Посмотреть профиль Найти все сообщения от void()
 
Регистрация: 11.08.2017
Сообщений: 208

Может так?

var someVariable = document.getElementsByTagName('iframe')[0].innerHTML;
Ответить с цитированием
  #3 (permalink)  
Старый 01.10.2017, 17:24
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

у него же id есть
var someVariable = document.querySelector('#someID').innerHTML;
Ответить с цитированием
  #4 (permalink)  
Старый 01.10.2017, 17:38
Аватар для void()
Профессор
Отправить личное сообщение для void() Посмотреть профиль Найти все сообщения от void()
 
Регистрация: 11.08.2017
Сообщений: 208

Да вроде работает. А какой браузер у вас?

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Document</title>
</head>
<body>
<iframe id="someId" class="someClass">
  
  #document
    <!DOCTYPE html>
    <html lang="en">
    <head>
      <meta charset="UTF-8">
      <title>Document</title>
    </head>
    <body>
    </body>
    </html>
  
</iframe>

<script>
var someVariable = document.getElementsByTagName('iframe')[0].innerHTML;
alert(someVariable);
</script>
</body>
</html>
Ответить с цитированием
  #5 (permalink)  
Старый 01.10.2017, 18:06
Интересующийся
Отправить личное сообщение для Scheme Посмотреть профиль Найти все сообщения от Scheme
 
Регистрация: 06.01.2014
Сообщений: 22

спасибо, вроде работает и все просто, у меня тут что-то!

Последний раз редактировалось Scheme, 01.10.2017 в 18:23.
Ответить с цитированием
  #6 (permalink)  
Старый 01.10.2017, 18:23
Аватар для void()
Профессор
Отправить личное сообщение для void() Посмотреть профиль Найти все сообщения от void()
 
Регистрация: 11.08.2017
Сообщений: 208

Не знаю. Так вроде тоже работает.

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Document</title>
</head>
<body>
	<iframe id="someId" class="someClass">
		#document
		<!DOCTYPE html>
		<html lang="en">
		<head>
			<meta charset="UTF-8">
			<title>Document</title>
		</head>
		<body>
		</body>
		</html>
	</iframe>
	<button type="submit" onclick="someFunct();">Клик</button>
	<script type="text/javascript">
		function someFunct() {
			var someVariable = document.getElementsByTagName('iframe')[0].innerHTML;
			 someVariable2 = someVariable.replace(/&lt;/g, '<').replace(/&gt;/g, '>');
			document.getElementById("someArea").value = someVariable2;
		}
	</script>
	<textarea name="" id="someArea" style="position: absolute;" cols="30" rows="10"></textarea>
</body>
</html>
Ответить с цитированием
  #7 (permalink)  
Старый 02.10.2017, 02:07
Интересующийся
Отправить личное сообщение для Scheme Посмотреть профиль Найти все сообщения от Scheme
 
Регистрация: 06.01.2014
Сообщений: 22

можно еще один вопрос?
А можно, далее из содержимого someVariable:
#document
    <!DOCTYPE html>
    <html lang="en">
    <head>
      <meta charset="UTF-8">
      <title>Document</title>
    </head>
    <body>
    </body>
    </html>


вывести только body с его содержимым, alert-ом в качестве примера или положить результат в другую переменную.

Последний раз редактировалось Scheme, 02.10.2017 в 02:10.
Ответить с цитированием
  #8 (permalink)  
Старый 02.10.2017, 02:44
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

добавьте эту строку
var a = someVariable.substring(someVariable.indexOf('<body>')+6, someVariable.lastIndexOf('</body>'));


или эту если нужно выводить вместе с тегом <body>
var a = someVariable.substring(someVariable.indexOf('<body>'), someVariable.lastIndexOf('</body>')+7);
Ответить с цитированием
  #9 (permalink)  
Старый 02.10.2017, 03:15
Интересующийся
Отправить личное сообщение для Scheme Посмотреть профиль Найти все сообщения от Scheme
 
Регистрация: 06.01.2014
Сообщений: 22

Да, то что надо! Спасибо, Спасибо всем друзья!
Ответить с цитированием
  #10 (permalink)  
Старый 02.10.2017, 03:21
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,070

может нужно это?
document.getElementsByTagName('iframe')[0].contentWindow.document.body.innerHTML
Ответить с цитированием
Ответ


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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как перерисовать все элементы SVG на Canvas (d3.js+leaflet.js+html2canvas) Trippal Общие вопросы Javascript 0 10.02.2016 18:25
Как открыть в iframe сайт, на котором есть защита от открытия в iframe? interwass Общие вопросы Javascript 13 30.05.2012 22:19
ThickBox передать переменную в iframe 4e4en Events/DOM/Window 1 05.10.2011 21:44
Как поместить курсор в IFrame в Opera mcfly Элементы интерфейса 11 29.10.2010 16:28
глюк форума Gvozd Сайт Javascript.ru 11 18.03.2009 14:37