Jump to content


Photo

Flash Player


  • Faça o login para participar
11 replies to this topic

#1 edmendel

edmendel

    Novato no fórum

  • Usuários
  • 5 posts
  • Sexo:Não informado

Posted 17/04/2006, 23:20

Olá pessoal.

Este problema está acontecento quando navego com o IE 6

De uns dias para cá, meu Flash Player tem dado um problema. Atualizei a versão para 8.0.24 e não resolveu.
Toda vez que passo o Mouse sobre um objeto em flash aparece a seguinte mensagem:
"Clique para ativar e usar este controle" e em volta do objeto aparece uma moldura neste momento.

Ai eu clico e o link que está no flash funciona (a moldura também desaparece). Mas na próxima vez que entro nesta página o problema se repete. Na prática tenho que clicar duas vezes sobre qualquer flash para fazê-lo funcionar. Isto acontece em todas as pgs em que entro.

Obs: No Gerenciador de Complementos do IE o Shockwave Flash Object está devidamente ativado.

Vocês tem alguma idéia a respeito??

Ed Mendel

#2 Crab

Crab

    Da paz, mas preparado para Guerra

  • Ex-Admins
  • 2521 posts
  • Sexo:Masculino
  • Localidade:Florianópolis - SC
  • Interesses:Desenvolvimento Gráfico e Web.

Posted 18/04/2006, 02:58

Sim .. eu e mais algumas pessoas temos a idéia do que está acontecendo ... hehehe

De uma lida nessa matéria:

http://tecnologia.te...-EI4802,00.html

A solução vc encontra estudando essa documentação:

http://msdn.microsof...ing_activex.asp

Mas está em Inglês.

(y)Até mais

#3 Stormbringer

Stormbringer

    I'd love to stay with you all

  • Ex-Admins
  • 2927 posts
  • Sexo:Não informado
  • Localidade:Goiânia - GO
  • Interesses:Atualmente: pesquisa e desenvolvimento de web-games

Posted 18/04/2006, 07:57

Windows dando cada vez mais tiros no pé, hehehe
Felismente o problema não afetou o Firefox :D (tanto que eu nem sabia!!! só vim saber hoje, que desde o dia 13 isso tá acontecendo por conta do ultimo update do windows)

Crab, entao, na prática, como um flash precisa ser colocado numa página pra que isso não ocorra? Voce tem algum modelo funcionante?
aquela documentação esta, digamos, "toma que o filho é teu", eheh

PS... acabeu de abrir o IECA... abri o site da Route 10... e os anuncios em flash sequer abrem mensagens :D...
eeeeeeeeeeee leie, ólha o trabalho que a MS nos dá!

๑۩۞۩๑Let the Carnage Begin!!๑۩۞۩๑


#4 maxsemrumo

maxsemrumo

    Novato no fórum

  • Usuários
  • 7 posts
  • Sexo:Não informado
  • Localidade:Pereiro/CE
  • Interesses:Estou de interessado em aprender mais... e passar meus conhecimentos para os meus amigos do fórum...

Posted 18/04/2006, 12:54

Galera!!!

Vai um solução para seus problemas com o FLASH NO IE.

Coloque o código abaixo no local onde tem o flash
CODE

<script src="js.js"> // Colocar no topo da página.
</script>


<script language="javascript">
carregaFlash('01.swf','780','200'); // Depois só descrever o caminho, largura, altura do SWF.
</script>


Crie um arquivo chamado JS.JS com este código:
CODE
function carregaFlash(caminho,largura,altura)
{
document.write('<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macr...rsion=7,0,19,0" width="'+largura+'" height="'+altura+'">');
document.write('<param name="movie" value="'+caminho+'">');
document.write('<param name="quality" value="high">');
document.write('<param name="wmode" value="transparent">');
document.write('<param name="menu" value="false">');
document.write('<embed src="'+caminho+'" quality="high" pluginspage="http://www.macromedi...getflashplayer" type="application/x-shockwave-flash" width="'+largura+'" height="'+altura+'"></embed>');
document.write('</object>');
}


e pronto. tá resolvido.

Este código foi adaptado por Marcus Vinicius (programador senior) da Neoprint Sites - Qualquer dúvida entre em contato pelo e-mail: marcus@neoprint.com.br

#5 xpto

xpto
  • Visitantes

Posted 18/04/2006, 13:05

Para quem atualizou o IE nos últimos dias informo que a Micro$oft já lançou o path de correção.
Clique AQUI

O problema realmente é resolvido, para quem baixou o patch acima.

Mas o problema é maior para quem faz as páginas.
Quem já atualizou o windows (com o bug) continuará vendo o erro e não dá pra ficar pedindo para que cada visitante para que baixe o patch de correção. Pior ainda (quem desenvolve e instalou o patch não verá mais os possíveis erros da má atualização da Micro$oft).

_____________________________________________________________

A Microsoft mudou a maneira como os controles ActiveX funcionam no Internet Explorer. Esta mudança afeta todos os controles ActiveX interativos numa página web. Em particular, irá afetar todos os filmes flash (SWF) colocados numa página. Esta mudança é feita em resposta á acusação da EOLAS que reclama para si a patente no que respeita a este tipo de aplicações correrem numa página web.

Isto afetará o Macromedia Flash todos os produtos da SWiSHzone que exportam arquivos HTML+SWF: SWiSH Lite, SWiSH2, SWiSH Max, SWiSH Video, SWiSH Presenter, SWiSH Pix, como também todos os SWiSH Sites. Como o Flash todos os outras aplicações que usam as seguintes tags: <aplet> <embed> <obgect> ou seja: Flash Player, Windows Media Player, Quicktime, Real Player, JavaAplet etc...

Em 11 de Abril, a nova versão de Internet Explorer começou a ser distribuída.
Os novos computadores que trazem o Windows já incluirão a alteração do ActiveX. As versões já instaladas, terão esta mudança assim que fizerem a actualização do IE (Windows Update).

Esta atualização está disponível aqui: http://support.microsoft.com/kb/912945

O que é que acontece?

Quando o visitante acessa a página web, e esta contém o objeto swf, aparecerá uma linha cinzenta em volta dele. O visitante, tem de clicar no objeto, para ter acesso a ele.
Ou seja, sem clicar uma vez, não terá acesso aos links por exemplo.

SOLUÇÃO:

A Microsoft e a Macromedia estão estudando algumas soluções para que os efeitos deste "problema" seja minimizado. Contudo, uma forma que parece ser a mais simples é a seguinte:
Esta solução, consiste em adicionar a página web (HTML ou HTM) o seguinte códido antes do final do </header>

Código:

<!--[if gte IE 6]>
<script src="dynActiveX.js"></script>
<![endif]-->


Depois, é preciso criar o arquivo dynActiveX.js (JavaScript) contendo o seguinte código:

// When the page loads:
window.onload = function(){
if (document.getElementsByTagName) {
// Get all the tags of type object in the page.
var objs = document.getElementsByTagName("object");
for (i=0; i<objs.length; i++) {
// Get the HTML content of each object tag
// and replace it with itself.
objs[i].outerHTML = objs[i].outerHTML;
}
}
}
// When the page unloads:
window.onunload = function() {
if (document.getElementsByTagName) {
//Get all the tags of type object in the page.
var objs = document.getElementsByTagName("object");
for (i=0; i<objs.length; i++) {
// Clear out the HTML content of each object tag
// to prevent an IE memory leak issue.
objs[i].outerHTML = "";
}
}
}


Copie o código acima e colem no bloco de notas.
Salve com o nome: dynActiveX.js .
Envie os arquivos dynActiveX.js e HTML (ou HTM) para seu servidor.

#6 Crab

Crab

    Da paz, mas preparado para Guerra

  • Ex-Admins
  • 2521 posts
  • Sexo:Masculino
  • Localidade:Florianópolis - SC
  • Interesses:Desenvolvimento Gráfico e Web.

Posted 18/04/2006, 17:43

Storm ... além de todas essas soluções ae .. hehehe eu já havia postado algo na Sala de JS. :D

Da uma olhada.

http://forum.wmonlin...howtopic=147636

(y)Até mais

#7 SirWillian

SirWillian

    Novato no fórum

  • Usuários
  • 1 posts
  • Sexo:Não informado

Posted 25/04/2006, 17:03

Boa tarde xpto tenho uma duvida na verdade um prloblema:

Quando uso o codigo abeixo conforme voce descreveu,

Código:
<!--[if gte IE 6]>
<script src="dynActiveX.js"></script>
<![endif]-->


Funciona que é uma beleza mas no topo da pagina aparecem <!--[if gte IE 6]> <![endif]-->.

Como faço para isso funcionar redondamente.?

Fico no aguardo pois ja tentei de tudo, e nada funciona, obrigado.

#8 finish

finish

    12 Horas

  • Usuários
  • 144 posts
  • Sexo:Não informado

Posted 25/04/2006, 17:21

use a 1º forma postada, ela é inclusive melhor que a outro.

por quê digo isto ?

Testei a segunda, e ela coloca coloca a borda no 1º load, depois no 1º segundo sempre se vc ta com mouse e sua animação for de banner transparente e com animação vertical(a animação que eu tinha) ele recomeça a animação, por exemplo, vc ta no frame 10, passa o mouse, ele volta ao 1 e recomeça... enfim, meio complicado de explicar...

mas use a 1º forma que é uma beleza e funciona muitissimo bem ;)

abraços

#9 TROPS

TROPS
  • Visitantes

Posted 12/09/2006, 10:51

SEUS PROBLEMAS ACABARAM

Isto não é mais problema para quem desenvolve as paginas no novo Dreamwever 8
Mas, você tem que fazer a atualização do programa, dai então ele mesmo começa a fazer toda essa programação em todas as paginas e os objetos em Flash voltam a funcionar normalmente

para quem usa o Dreamweaver 8 cliqui neste link para fazer a atualização

http://download.macr...2_update_en.exe


é isso ai
abração a todos

#10 bimonti

bimonti

    Super Veterano

  • Usuários
  • 2654 posts
  • Sexo:Masculino

Posted 15/05/2007, 15:26

Questão:

Usando o script da forma obj[x].outerHTML = obj[x].outerHTML já causa problemas para alguém ??

Questiono isso porque usei esse modelo em diversos trabalhos nos últimos meses e não funcionou em todos, em alguns ele não abriu o flash, as vezes é como se não tivesse aplicado a função embora a mesma fosse chamada e não reportou erro algum. Além do que é como se a animação fosse iniciada 2 vezes, então se tiver um sonzinho já era, vai rolar 2 vezes, um por cima do outro.

Em vários casos não apresentou problema nenhum, e apesar de outros métodos disponíveis acredito ser esse o mais prático, afinal não é necessário fazer alterações no código-fonte das páginas já existentes em sites antigos.

Edit---------------------->

Vou colocar aqui uma pequena modificação que eu fiz na função e aparentemente resolveu parte desses problemas, fica livre para quem quiser testar e dar um feedback:

function flash(){
	if (document.getElementsByTagName) {
	var objs = document.getElementsByTagName("object");
		for (var i=0; i<objs.length; i++){
			try{
				objs[i].outerHTML = objs[i].outerHTML;
			}catch(e){
				objs[i].outerHTML = objs[i].innerHTML;
			}
			
			objs[i].style.display = 'block';
			
		}
	}
}

Reparem na função que dentro do loop eu altero o display dos objetos para block, isso serve para resolver o problema com o som duplicado, mas é necessário setar o display antes via CSS para todos os elementos da página conforme segue:

object{
	display:none;
}

Dessa forma eles começam escondidos e serão exibidos após o javascript entrar em ação. Se o javascript estiver desabilitado fu***... ^^ (na verdade seria interessante rodar um JS antes de carregar o body da página pra alterar o CSS, assim se não tiver JS no browser ele mostra o flash com pau mesmo mas pelo menos mostra).

O try é porque em raros casos o outerHTML dá pau, então eu tento com o innerHTML em um último esforço de fazer o negócio funcionar.

Edição feita por: bimonti, 15/05/2007, 15:33.

WebFórum - Equipe de Desenvolvimento - Monitor
Posted Image
Yeah I do have some stories, and it's true I want all the glory ...

#11 rafaelvinicius

rafaelvinicius

    Normal

  • Usuários
  • 74 posts
  • Sexo:Masculino
  • Localidade:São Paulo - SP
  • Interesses:Mais conhecimentos

Posted 02/08/2007, 08:59

já vai mais uma solução ai


em cima do cdg tem que ter essa linha
<script type="text/javascript" src="flashobject.js"></script>


e aonde esta o cdg do flash vc altera por essa abaixo


<div id="animacao_topo"> </div>
<script type="text/javascript">
// <![CDATA[
var fo = new FlashObject("topo_contato.swf", "Cookies", "770", "258", "8", "#ffffff");
fo.addParam("scale", "noscale");
fo.addParam("wmode", "transparent");
fo.addParam("menu", "false");
fo.write("animacao_topo");
// ]]>
</script>




mas tem que ter um arquivo chamado flashobject.js


é só pesquisar na net que irão encontrar.



falow galera :lol:
Rafael Vinicius - Criamedia

#12 Patrique

Patrique

    Super Veterano

  • Usuários
  • 1859 posts
  • Sexo:Não informado

Posted 12/08/2007, 00:09

Eu faço da seguinte maneira.

Primeiro eu crio um arquivo chamado ie.js nele eu coloco esse code:

function insereObj(str) {
	document.write(str);
}

depois eu crio uma pasta chamada js e coloco lá o arquivo ie.js

depois na página aonde vai chamar o flash eu mando buscar esse arquivo e tirar esse "bug" das bordas com o seguinte code

<script language=javascript src="js/ie.js"></SCRIPT>
<script language=javascript>
insereObj('<object style="height: 100%; width: 100%;" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="100%" height="100%" align="middle" id="niurose">');
insereObj('<param name="allowScriptAccess" value="sameDomain" />');
insereObj('<param name="movie" value="site.swf" />');
insereObj('<param name="wmode" value="transparent" />');
insereObj('<param name="quality" value="high" />');
insereObj('<param name="scale" value="noscale" />');
insereObj('<param name="bgcolor" value=""/>');
insereObj('<embed style="height: 100%; width: 100%;" src="site.swf" quality="high" scale="noscale" bgcolor="" width="100%" height="100%" align="middle" wmode="transparent" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" name="niurose" swLiveConnect="true"/>');
insereObj('</object>');
</SCRIPT>

muito mais simples e sem complicações!

boa sorte




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq