Закрытие iframe от родителя или дочернего элемента. Как?

  • Автор темы LongWayXD
  • 27
  • Обновлено
  • 17, May 2024
  • #1
Привет!

Я облазил почти везде и нашел эту тему: https://forums.digitalpoint.com/threads/close-iframe-from-within-that-iframe.582469/

По сути, я ищу то же самое, но с небольшим изменением: я хочу добавить кнопку закрытия, чтобы закрыть iframe из родительского или дочернего элемента, используя javascript, и чтобы кнопка исчезла после закрытия iframe. Я попробовал одно из решений в теме.

Вот этот:
 [object HTMLIFrameElement]
Код (разметка): Теперь при нажатии кнопки iframe закрывается, но браузер сразу же отправляет меня:
 javascript: window.parent.document.getElementById('xbutton').parentNode.removeChild(window.parent.document.getElementById('xbutton'))
Код (разметка): ..с сообщением браузера следующего содержания:
 <a href="javascript: window.parent.document.getElementById('closeButton').parentNode.removeChild(window.parent.document.getElementById('closeButton'))">X</a>
Код (разметка): Что я делаю не так? Я использую 64-разрядную версию Waterfox/Firefox и хочу, чтобы она работала как в Chrome, так и в Firefox.

[Это работало в Chrome]. Надеюсь найти решение этой проблемы.

Спасибо!

LongWayXD


Рег
13 Mar, 2014

Тем
1

Постов
2

Баллов
12
  • 18, May 2024
  • #2
Наконец-то я заставил его работать в обоих браузерах. Используйте onclick вместо href в теге или : Теперь остается кнопка закрытия, которая остается там после закрытия iframe. Есть идеи, как убрать его по клику?
 

ray1


Рег
10 Oct, 2014

Тем
0

Постов
2

Баллов
2
  • 05, Jun 2024
  • #3
Это должно работать для вас (хотя в jquery):
http://jsfiddle.net/vtFQx/100/

Код:
 

<!DOCTYPE html>

<html>

<head>

<meta http-equiv="content-type" content="текст/html; кодировка = UTF-8">

<script type="text/javascript" src="[URL='https://lumtu.com/yti/au44uanNodHRwOi8vY29kZS5qcXVlcnkuY29tL2pxdWVyeS0xLjQuNC5taWt5C']http://code.jquery.com/jquery-1.4.4.min.js[/URL]"></script>

<style type="text/css">

#list {

overflow: auto;

}

#list li {

float: left;

margin-right: 10px;

}

div {

width: 450px;

height: 380px;

border: 1px solid gray;

position: relative;

}

iframe {

width: 450px;

height: 380px;

border: 1px solid black

display: block;

}

span.button {

position: absolute;

left: 0;

top: 0;

background-color: black;

padding: 5px 10px 5px 10px;

color: white;

cursor: pointer;

}

div.close {

display: none;

}

</style>

<script type="text/javascript">

$(function(){

$('#list div').each(function() {

$(this).append('<span class="button">Close</span>');

});

$("span.button").click(function() {

$(this).closest("li").children("div").toggleClass("close");

});

});

</script>

</head>

<body>

<ul id="list">

<li>

<div>

<iframe src="[URL='https://lumtu.com/yti/cgaagcGdodHRwOi8vdGhpbmtzdG9ja3Bob3Rvcy5jby51ay9DTVMvU3RhdGljQ29udGVudC9IZXJvL1RTX0Fub25IUF80NjI4ODI0OTVfMDEuDMf']http://www.thinkstockphotos.co.uk/CMS/StaticContent/Hero/TS_AnonHP_462882495_01.jpg[/URL]" scrolling="no" frameborder="0"></iframe>

</div>

</li>

</ul>

</body>

</html>

Код (разметка):
 

MaZa_Mladwii


Рег
30 Aug, 2013

Тем
0

Постов
3

Баллов
3
Тем
49554
Комментарии
57426
Опыт
552966

Интересно