iframe определен как ноль - PullRequest
       6

iframe определен как ноль

0 голосов
/ 22 ноября 2018

Мой iframe должен закрываться при нажатой красной кнопке и иногда должен менять свой src, но chrome считает мой iframe нулевым.вот мой сайт: https://broenot.netlify.com/articles/20-11-18 Вот мой код от banner.js:

var bannerid = Math.floor(Math.random() * 2);
var bannerclosed = localStorage.getItem("bannerclosed");
  if (bannerclosed == "yes"){
    document.getElementById("ibanner").style.visibility = "hidden";
  }
  if (bannerid == 1){
    document.getElementById("ibanner").src = "/banners/banner2.html";
  }
  $('#banner').load(function(){
    var iframe = $('#ibanner').contents();
    iframe.find("#close").click(function(){
      $("#ibanner" ).animate({opacity: 0}, 500)
      setTimeout(bannerclose, 500); 
    });
  });
  function bannerclose(){
    document.getElementById("ibanner").style.visibility = "hidden";
    localStorage.setItem("bannerclosed", "yes");
  }

HTML:

<iframe src="/banners/banner1.html" frameborder="0" style="width: 40%; height: 150px; position: fixed; bottom: 0; left: 0; border-radius: 15px;" id="ibanner"></iframe>

Получите другие вещи на сайте, используя F12, если вам нужно.

1 Ответ

0 голосов
/ 22 ноября 2018

URL не изменится, если вы просто установите элемент localStorage.Во-первых, вы должны добавить прослушиватель событий для события storage:

Редактировать : используйте .ready() вместо .load() для однозначности

window.addEventListener('storage', function(event){
    if (event.storageArea === localStorage) {
        var bannerclosed = localStorage.getItem("bannerclosed");
        if (bannerclosed == "yes"){
            document.getElementById("ibanner").style.visibility = "hidden";
        }
        if (bannerid == 1){
            document.getElementById("ibanner").src = "/banners/banner2.html";
        }
    }
}, false);

$('#ibanner').ready(function(){
  var $iframe = $('#ibanner');
  $iframe.find("#close").click(function(){
    $iframe.animate({opacity: 0}, 500);
    setTimeout(bannerclose, 500); 
  });
});

function bannerclose(){
    document.getElementById("ibanner").style.visibility = "hidden";
    localStorage.setItem("bannerclosed", "yes");
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...