Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Как обратиться к переменной айфрейма изнутри этого айфрейма? (https://javascript.ru/forum/misc/64390-kak-obratitsya-k-peremennojj-ajjfrejjma-iznutri-ehtogo-ajjfrejjma.html)

maxminimus 08.08.2016 10:31

Как обратиться к элементу айфрейма изнутри этого айфрейма?
 
внутри айфрейма есть кнопка при нажатии которой надо сделать
айфрейм.style.display = 'none'


как из кнопки которая внутри айфрейма добраться до обьекта элемента айфрейма?

Strongman 08.08.2016 12:43

Вот я написал пример(опробовал его). Document.write заменяет текст в баннере. У меня есть 2 файла: корневой с <IFRAME>, он содержит файл banner.html, который приведен ниже:
<html>
<head>
<meta charset="utf-8">
<title>Баннер.</title>
</head>
<body>  
Текст. Текст. Текст.
<br>
<button id='btn'>Кнопка.</button>
<script>
var x = 1;
var df = document.querySelector('btn');
btn.onclick = function OnClick()
{
x = 5;
document.writeln("x = ", x);
}
</script>
</body>
</html>

Печатает:
x = 5 - заменяет весь документ.
Скажите, пожалуйста, как сделать добавление текста в конец документа, а то у меня document.write заменяет весь документ?

Dilettante_Pro 08.08.2016 14:41

maxminimus,
Strongman, похоже, ответил на ваш вопрос?

Strongman,
document.writeln и document.write перезаписывают все содержимое страницы, стирая все, что было ранее
читайте про добавление элементов на страницу
https://learn.javascript.ru/modifying-document

maxminimus 08.08.2016 16:19

Цитата:

Сообщение от Dilettante_Pro (Сообщение 424686)
maxminimus,
Strongman, похоже, ответил на ваш вопрос?


похоже нет

Strongman 08.08.2016 16:28

Ну я не знаю как из родительского документа обратиться к дочернему документу.
DilletantePro я похоже понял как добавить текст в конец документа.
btn.onclick = function OnClick()
{
x = 5;
document.body.innerHTML += "<br>x = " + x;
}

Но почему он добавляет всего 1 раз, я думал он будет добавлять бесконечно?

Dilettante_Pro 08.08.2016 16:41

maxminimus,
У Strongman в коде страницы, загружаемой в iframe, есть переменная x и кнопка, которая пишет значение х в window.
Вы точно так же можете менять значение этой переменной из кода основной страницы и при помощи кнопки в iframe делать с x все что угодно. Есть какие-то непонятные моменты?

maxminimus 08.08.2016 16:53

и как из кнопки добраться до обьекта элемента айфрейма?

Dilettante_Pro 08.08.2016 18:02

maxminimus,
Если вы имеете в виду элементы html айфрейма, то из скрипта,находящегося в айфрейме, обычным манером, через document.getElementById() или document.querySelector().
Переменная x, как объявленная в айфрейме, там просто доступна.

Dilettante_Pro 08.08.2016 18:12

maxminimus,
Смотрю, у вас уже сильно изменился вопрос?
Цитата:

Сообщение от maxminimus (Сообщение 424635)
внутри айфрейма есть кнопка при нажатии которой надо сделать
айфрейм.style.display = 'none'


как из кнопки которая внутри айфрейма добраться до обьекта элемента айфрейма?

Айфрейм изнутри считает себя обыкновенной html-страницей,
поэтому, например,
document.querySelector('body').style.display = 'none';

Strongman 08.08.2016 18:13

Кто мне карму понизил, если это ты maxminimus тогда я скажу тебе следующее: я тебе помогаю, а ты мне карму понижаешь совсем ты опух что-ли? я за тебя работу делаю а ты мне карму понижаешь, олень? Кстати, насчет темы я тебе все правильно сказал и DilletantePro правильно сказал. Там делать нечего, а ты тупишь и не можешь разобраться в элементарном материале.Я что спросить не могу в этой теме что-ли? Это запрещено правилами форума?


Часовой пояс GMT +3, время: 14:24.