La página mostraba un video en <iframe> . Cuando las cookies están permitidas, <iframe> tiene un atributo [src] <iframe src="http://video...."> , cuando están deshabilitadas, tiene un atributo [data-cookieblock-src] <iframe data-cookieblock-src="http://video...."> . Cuando las cookies están deshabilitadas, la página no muestra un video, sino un banner de imagen. La página muestra una imagen en un div con class="hero-banner" y un iframe en un div con class="youtube-banner". Compruebo qué atributo tiene un iframe y, dependiendo de él, alterno un block de valor de display o none . Funciona como quiero, pero hay un problema. Cuando visito la página por primera vez y permito que la página use cookies, se debe mostrar un video, y solo si actualizo la página. Puedo ver que hero-banner y youtube-banner tienen estilos de display . Mi pregunta es ¿cómo podría solucionar este problema?
$("iframe").each(function() { var regexVimeo = /(?:http:|https:|)\/\/(?:player.|www.)?vimeo\.com\/(?:video\/|embed\/|watch\?\S*v=|v\/)?(\d*)/; // when cookies are blocked then iframe has attribute data-cookieblock-src in the other way has src var iframeDataCookieBlockSrc = $(this).attr('data-cookieblock-src'); var iframeSrc = $(this).attr('src'); if(iframeDataCookieBlockSrc) { if (iframeDataCookieBlockSrc.match(regexVimeo)) { $(".hero-banner").css("display", "block"); $(".youtube-banner").css("display", "none"); } } if(iframeSrc) { if (iframeSrc.match(regexVimeo)) { $(".hero-banner").css("display", "none"); $(".youtube-banner").css("display", "block"); } }