Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Red FeniX

Lightbox X Flash - Flash Por Cima

Recommended Posts

Opa galera,

 

Tenho um sistema de publicidade onde o usuário pode inserir banners para certas áreas do portal. Esse banners podem ser imagens normais (JPG, PNG, GIF, etc), flashes ou códigos html. Porém, estou tendo um conflito com esse sistema:

 

O meu lightbox fica por baixo dos banners, caso estes sejam em flash. Tipo, se o usuáriol põe um iframe, por exemplo, do Sistema de Sócios do MercadoLivre, ele aparece por cima do overlay escuro do lightbox.

 

Como resolver esse problema, sendo que não há como inserir o wmode=transparent, pois o usuário não tem necessidade de saber HTML e nem todos os flashes via iframe têm esse wmode=transparent?

 

O que faço?

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amigo,

 

No caso do Flash é fácil. Mas se ele inserir um código HTML, tal como um INFRAME? Como vou contrrolar?

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Até onde sei o z-index no Flash só vai funcionar no caso da tag object esteja com wmode="transparent"

Uma solução bem horrível mas que talvez ajude

 

Faz um iframe com fundo transparente com o tamanho total de onde vai ficar e dentro dele irá o Flash

Nele você usa o z-index para ficar sobre tudo.

 

Talvez funcione :)

 

______________________

 

Não faça post duplo.

Siga as regras do fórum:

http://forum.imasters.com.br/index.php?app=core&module=help

 

10ª Regra

 

É proibido o post de mensagens com o objetivo de evidenciar o tópico, tornando-o primeiro da lista de tópicos (up), tal como mensagens repetitivas e/ou que não condizem com o assunto do tópico em questão (flood). Tais mensagens serão excluídas e o usuário advertido por MP.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Já passei pela mesma situação há alguns dias e depois de procurar muito descobri a solução em um blog. Coloque o z-index num div com o Flash e depois um z-index muito alto no css do Lightbox.

 

Se estiver utilizando aquele script do Dreamweaver para inserir Flash (AC_RunActiveContent.js) eu recomendo procurar outra forma de carregar o Flash na página porque no IE o Flash vai continuar aparecendo por cima do Lightbox.

 

Estando com o Flash devidamente carregado na página com wmode transparent ou opaque e utilizando o Lightbox padrão (não testei com o Shadowbox nem Lightbox em JQuery) coloque mais este script muito bom em sua página, encontrei num blog que ensinava até como chamar o Lightbox dentro do Flash:

http://blog.lucasferreira.com/

 

// -----------------------------------------------------------------------------------
//
//	Lightbox flash adapter v1.0b
//	by Lucas Ferreira - http://www.lucasferreira.com/
//	Last Modification: 8/23/08
//
//	Licensed under the Creative Commons Attribution 2.5 License - http://creativecommons.org/licenses/by/2.5/
//  	- Free for use in both personal and commercial projects
//		- Attribution requires leaving author name, author link, and the license info intact.
//
// -----------------------------------------------------------------------------------

if(Lightbox == undefined)
{
	alert('You need lightbox.js for use this script.');
}

Object.extend(Lightbox.prototype, {
	_start: Lightbox.prototype.start,
	_initialize: Lightbox.prototype.initialize,
	initialize: function()
	{
		this._initialize();
		
		if(document.body)
		{
			document.body.appendChild(Builder.node('div', {
				id:'_temp_links',
				style:'position:absolute;width:1px;height:1px;overflow:hidden;top:-1000em;left:-1000em;display:none;'
			}));
		}
		
		Lightbox._sing = this;
	},
	start: function(imageLink) {
		
		this._start(imageLink);
		
		var os = (navigator.platform || "win").toString().toLowerCase();
		if(os.indexOf("lin") < 0)
		{
			$$('object', 'embed').each(function(node){ node.style.visibility = 'visible' });
			if(document.body) document.body.focus();
		}
		
	}
});

//callback for flash...
Lightbox.start = function(src, title)
{
	function _createTempLink(_src, _title, _group)
	{
		var _a = document.createElement("A");
		_a.setAttribute("href", _src);
		_a.setAttribute("rel", (_group ? "lightbox[" + _group + "]" : "lightbox"));
		_a.setAttribute("title", (_title || ""));
		
		return _a;
	}
	
	if(Lightbox._sing != null)
	{
		if($('_temp_links')) $('_temp_links').innerHTML = "";
		
		src = (typeof src == 'string' ? [src] : src);
		if(title != undefined) title = (typeof title == 'string' ? [title] : title);
		
		for(var first=null, i=0; i<src.length; i++)
		{
			_a = _createTempLink(src[i], (title && title.length > i && title[i] ? title[i] : ""), (src.length > 1 ? "temp" : false));
			
			if(first == null)
			{
				first = _a;
			}
			
			if($('_temp_links')) $('_temp_links').appendChild( _a );
		}
		
		Lightbox._sing.start( first );
	}
};
Lightbox._sing = null;

Compartilhar este post


Link para o post
Compartilhar em outros sites

Aqui em localhost não resolveu nada!

 

Não tenho como saber se o wmod tá transparente pq a inserção é dinâmica.

 

Se ele insere o código HTML, não posso controlar!

 

Falo

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.