Открыть div из iframe в верхней части главной страницы (заполняет весь экран)
Я создал popup/lightbox, используя javascript и css, который состоит из div поверх увядшего div, который покрывает весь экран. Когда пользователь нажимает на объявление, которое находится в iframe, появляется это всплывающее окно / лайтбокс, который должен занимать весь экран.
Моя проблема в том, что когда объявление, на которое вы нажимаете, находится в фрейме на другой странице, я не могу понять, как это сделать. Он открывается только в том же контейнере, что и объявление, на которое вы нажимаете, и не охватывает весь экран.
В основном HTML выглядит примерно так:
<div id="light" style="display:none;">
<div id="wrap" style="display:none;">
<section id="container" style="background-color:#fff;">
<div id="ad_splash">
<figure class="ftn">
<div class="mno"></div>
<a href="destinationurl" target="_top"><img src="splash.png"></a>
</div>
</section>
</div>
</div>
<div id="fade" onclick="lightbox_close();" style="display: none;">
</div>
И JS:
<script type="text/javascript">
var wsLight = document.getElementById("light");
var wsFade = document.getElementById("fade");
window.top.document.body.appendChild(wsLight);
window.top.document.body.appendChild(wsFade);
function lightbox_open(){
window.scrollTo(0,0);
wsLight.style.display="block";
wsFade.style.display="block";
}
function lightbox_close(){
wsLight.style.display="none";
wsFade.style.display="none";
}
</script>
Пробовал с основами, такими как установка z-index, target=_top и т. Д., Но не повезло, очевидно. Я не знаю, что и где поместить фрагмент кода, функцию или подобное, чтобы он добавлялся в тело главной страницы, если это в iframe. Думал о том, чтобы иметь что-то вроде window.top.document.body.appendChild(lightbox);
но я не могу заставить его работать. Я очень новичок и не нашел ничего, что бы четко объясняло, что я делаю неправильно или что я мог сделать вместо этого. Я нашел здесь кого-то с подобной проблемой, но у него не было ответов с 2009 года... Я был бы рад любым отзывам на самом деле.