Ir para conteúdo

Arquivado

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

D2th3

[Resolvido] Bug Firefox 3

Recommended Posts

Amigos,

 

Estou montando um layout para uma agência.

Porém algo anormal está ocorrendo.

 

Testei e o layout ficou certo nos navegadores:

- IE 6, IE 7, IE 8

- FF 2, FF 3

 

Quando testei os dados eram apenas para demarcar área, com isso, onde ficariam os Flash estavam em imagens. Vendo que estava tudo certo comecei a montar com os elementos reais e inserir a programação PHP.

 

Quando inseri o flash na posição que estava uma imagem o lado direito desceu somente no FF3, nos demais continuou funcionando normalmente.

 

Verifiquei uma série de situações e sempre o mesmo Bug.

 

Porém quando, dentro do FF3, eu cliquei na Web Developer Toolbar, item Outline -> Outline Block Level Elements o site se ajeitou perfeitamente. Contudo quando clico em recarregar no FF3 o problema volta a ser exibido.

 

Podem verificar no seguinte endereço: Acesse aqui

 

Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pode até ser e vou experimentar para verificar, porém sem o Flash funciona normalmente, só ocorre quando eu insiro o flash.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Lembrando que se eu substituir o Flash que está ao lado do Problema dentro da Div BoxFlashFrente por uma imagem do mesmo tamanho, o layout fica perfeito em todos os navegadores inclusive no Firefox 3.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bem tente reduzir este menu lateral talvez resolva, mas lembre-se o DISPLAY:table; deve ser removido de todos lugares.

Estou vendo seu CSS agora.

 

Tente limpar o CACHE, talvez o navegador tenha deixado em cache o CSS

Compartilhar este post


Link para o post
Compartilhar em outros sites

Testei agora com a instalação mais recente o FF 3.0.8 e continua com o mesmo erro. Se coloco o Flash a barra de navegação cai e deixo imagem a barra permanece no lugar.

 

Cruel. Em Table nada disso ocorre.

Compartilhar este post


Link para o post
Compartilhar em outros sites

D2th3,

 

fiz um teste aqui através do Firebug.

 

Tente trocar isso:

 

<script type="text/javascript">
	AC_FL_RunContent( 
			'codebase', 'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,28,0',
			'width', '506',
			'height', '182',
			'src', 'fls/flsMaquinas',
			'quality', 'high',
			'pluginspage', 'http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash',
			'align', 'middle',
			'play', 'true',
			'loop', 'true',
			'scale', 'showall',
			'wmode', 'transparent',
			'devicefont', 'false',
			'id', 'FLS_maquinas',
			'bgcolor', '#ffffff',
			'name', 'FLS_maquinas',
			'menu', 'true',
			'allowScriptAccess','sameDomain',
			'movie', 'fls/flsMaquinas',
			'salign', ''
	 ); //end AC code
	</script><object codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,28,0" id="FLS_maquinas" name="FLS_maquinas" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" align="middle" height="182" width="506"><param name="movie" value="fls/flsMaquinas.swf"> <param name="quality" value="high"> <param name="play" value="true"> <param name="loop" value="true"> <param name="scale" value="showall"> <param name="wmode" value="transparent"> <param name="devicefont" value="false"> <param name="bgcolor" value="#ffffff"> <param name="menu" value="true"> <param name="allowScriptAccess" value="sameDomain"> <param name="salign" value=""> <embed src="fls/flsMaquinas.swf" quality="high" pluginspage="http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash" play="true" loop="true" scale="showall" wmode="transparent" devicefont="false" id="FLS_maquinas" bgcolor="#ffffff" name="FLS_maquinas" menu="true" allowscriptaccess="sameDomain" salign="" type="application/x-shockwave-flash" align="middle" height="182" width="506"></object>

Por isso:

 

<object type="application/x-shockwave-flash" data="fls/flsMaquinas.swf" height="182" width="506">
		<param name="movie" value="fls/flsMaquinas.swf">
	</object>

Aqui funcionou.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Realmente Thiago...

Da forma que você sugeriu funcionou. O layout ficou no lugar.

 

Agora... Por que usando o Javascript ele descaracterizou o layout?

 

Complexo.

 

 

 

Porém isso cai ao chão o bug do Display: Table no FF3, pois não tive que alterar nada em CSS, somente a forma de chamar o flash.

 

 

Obrigado ao pessoal que utilizou o seu tempo em me dar esse auxílio (Silverfox e Thiago Retondar).

 

Valeu.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Outra coisa, inserir Flash diretamente pelo HTML não é uma prática recomendada pelo W3C, portanto, dependendo do Doctype utilizado, sua(s) página(s) pode(m) não ser validada(s).

 

Nesse caso, utilize JavaScript para inserir, mas não utilize as funções do Dreamweaver...

Compartilhar este post


Link para o post
Compartilhar em outros sites

É assim, antes de mostrar o código, vamos entender o porque dessa recomendação do W3C.

 

Na verdade, a tag <object> é a tag que tem a função de inserir conteúdos em uma página HTML, seja ele um Flash ou até mesmo uma outra página HTML, que hoje é feito, em páginas não-Strict, com uso do <iframe>. O problema não é com o <object>, mas sim a tag <embed>. Essa tag foi criada pela Netscape, pois originalmente os seus browsers não suportavam a tag <object> para incluir os plugins, então eles criaram a tag <embed>. Muitos acham que isso é criação da Microsoft, mas na verdade não é, pois o IE sempre utilizou o <object> para incluir ActiveX...

 

Assim, eu também achava que isso era coisa da Microsoft, mas eu li o que escrevi acima neste link: http://my.opera.com/portugues/forums/topic.dml?id=35240

 

... [ Pausa para reflexão ] ...

 

Pára tudo!

 

Olha só, estava analisando tudo isso depois de muito tempo e resolvi reinvestigar... Li alguns materiais, uns falando do Flash no IE, outros no Mozilla, Opera, Firefox, Safari, etc. Bom, só sei que consegui encontrar uma solução que não utiliza o JavaScript para inserir o Flash, como eu sempre acreditei ser a única maneira por causa do <embed>, como falei acima.

 

Vejam nesse link: http://forum.wmonline.com.br/index.php?showtopic=114388

 

O fato é que testei no IE 7.0.5730.13, IE6 (com MultipleIEs), no Firefox 3.0.8, no Opera 9.25 Build 8827, no Safari 3.2.1 (525.27.1) e no Google Chrome 1.0.154.53. Somente no Opera o Flash se comporta de maneira estranha, não sendo exibindo logo que se carrega a página, mas depois ele aparece...

 

Pois bem, vejam o código que testei:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
	<head>
	<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
	<title>Flash!</title>
	<style type="text/css">
	* {
		margin:0;
		padding:0;
	}
	div#flashContent {
		width:540px;
		height:405px;
		margin:50px auto;
		border:2px solid #f00;
	}
	</style>
</head>
<body>
	<div id="flashContent">
		<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=5,0,0,0" width="540" height="405">
			<param name="movie" value="http://www.bruxelastecidos.com.br/flash/lancamentos.swf" />
			<param name="quality" value="high" />
			<param name="menu" value="false" />
			<param name="wmode" value="transparent" />
			<!--[if !IE]><-->
			<object data="http://www.bruxelastecidos.com.br/flash/lancamentos.swf" width="540" height="405" type="application/x-shockwave-flash">
				<param name="quality" value="high" />
				<param name="menu" value="false" />
				<param name="pluginurl" value="http://www.macromedia.com/go/getflashplayer" />
				<param name="wmode" value="transparent" />
			</object>
			<!--><![endif]-->
		</object>
	</div>
</body>
</html>
Se quiserem testar, coloquei um Flash ali com caminho absoluto que é utilizado em um dos sites desenvolvidos pela minha empresa (mais precisamente, por mim... http://forum.imasters.com.br/public/style_emoticons/default/assobiando.gif), então não precisam se preocupar em salvar na máquina para poder testar... A não ser que você já tenha algum SWF e queira testar com ele, lógico...

 

Ah! Outra coisa, eu não cheguei a testar se o wmode funciona, se alguém tiver como fazer algum menu, que é o caso mais comum para aplicação do fundo transparente no Flash, poderia colocar seu parecer...

 

Essa tal de internet é mesmo coisa de doido, eu nunca tinha me aprofundado nesse tema, sempre "acreditei" que a única alternativa seria diretamente com JavaScript mesmo... E pasmem: os materiais que me baseei são de 2003 e 2005, respectivamente, ou seja, não é de agora que a solução existe...

 

Bom, é isso. Espero que se alguém tiver dúvidas ou problemas com isso, por favor, abram um novo tópico, ok? Aproveitei este espaço porque o Tiago tinha me perguntado, mas o ideal é que um novo tópico seja aberto para discutirmos isso aqui.

 

 

Ah²! E quem quiser ler mais sobre a tag <object>, temos o material do W3: http://www.w3.org/TR/REC-html40/struct/objects.html. É muito interessante porque até imagens podem ser inseridas com essa tag, afinal, uma imagem não deixa de ser um objeto, não é? Nesse link tem uma tabela que sintetiza bem o object, que seria considerado o elemento genérico para inserção de elementos em uma página, tais como imagens, applets e "outro documento HTML"... Dêem uma conferida, é interessante.

 

Um abraço!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Paulo,

 

testei aqui e deu tudo certo.

 

Fiz até um teste em um site meu: http://thiagotestes.site90.com/acao/testeflash.html.

 

Pesquisando aqui no fórum, achei esse tutorial do Carlos. Então, essa forma que você postou é mais "cabível" que a dele?

 

Abraços.

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.