Ir para conteúdo

Arquivado

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

Edilson Souza

Código funciona no FF e IE, mas não no Chrome.

Recommended Posts

PessoALL,

Estou com um problema muito estranho. A minha página HTML/JavaScript funciona perfeitamente no Firefox e no Internet Explorer, mas no Chrome não funciona normalmente como deveria. Nesta página contem um código JavaScript (arquivo.js) que maximiza objetos em flash (jogos em flash) pela função getFlashMovieObject(), no FF e IE funcionam, mas no Chrome funciona parcialmente, a DIV é modificada, mas o flash não.

Já usei o debug do Chrome (F12, Control+Shipt+J), mas não apresentar nenhum erro. Estou perdido, pois não tenho muita experiência com JavaScript por isso peço a sua ajuda e desde já agradeço.

Página onde executo o JavaScript no botão verde com o nome Maximizar: http://www.subjogos.com.br/jogos_online/78/counter_strike.html


Meu código:

//Variavel que vai controlar o tamanho do jogo
var tamanho_jogo = 0;
//Função que retorna a forma que vou trabalhar com os objetos Flash
function getFlashMovieObject(movieName) {
	if ( window.document[movieName] ) {
		return window.document[movieName];
	} //if
	if ( navigator.appName.indexOf("Microsoft Internet") == -1 ) {
		if ( document.embeds && document.embeds[movieName] ) {
			return document.embeds[movieName];
		} //if
	} //if
	else {
		return $(movieName);
	} //Fim do else
}

//Função que retorna um width proporcional ao height de acordo com os padrões dos jogos
function retornaWidth( height ) {
	var width;
	width = new Number( ( height * 585 ) / 424 );
	return width.toFixed(0);
}

//Redimensiono o div/objeto que contém o objeto Flash para o width e height
function resizeDiv(width, height) {
	var movie = getFlashMovieObject("jogo");
	//Para a execuo do arquivo Flash e volto para o incio do mesmo
	//movie.StopPlay();
	//movie.Rewind();
	//Redimensiono o meu Flash
	movie.width = width;
	movie.height = height;
}

//Redimensiono o div/objeto que contém o objeto Flash para o width e height sem parar o objeto flash
function resizeDiv2(width, height) {
	var movie = getFlashMovieObject("jogo");
	//Redimensiono o meu Flash
	movie.width = width;
	movie.height = height;
}

//Funo que aumenta a jogo de 60px em 60px
function aumenta_jogo() {
	//Pego a tamanho atual do jogo e aumento 60px nela
	var h = tamanho_jogo + 60;
	//Só vou permitir o aumento do jogo até o limite do monitor
	if ( !( h > ( screen.height - 20 ) ) ) {
		//Atualizo a tamanho do jogo
		tamanho_jogo = h;
		//Pego o tamanho horizontal proporcional ao tamanho vertical do jogo
		var w = retornaWidth( h );
		//Posiciono a jogo no centro da tela
        if ( screen.width > 600 ) {
           var posDiv =  ( ( screen.width - w ) / 2 ) - 130;
        } else {
           var posDiv =  ( ( screen.width - w ) / 2 );
        }
		//Posição do div fechar é o tamanho vertical do jogo + 3px
		var top = h + 12;
		//Redimenciono o div do jogo
		resizeDiv2(w, h);
		//Altero as propriedades da pagina
		altera_propriedades_pagina(posDiv, top, w);
	} //if
}

//Função que diminui a jogo de 60px em 60px
function diminui_jogo() {
	//Pego o tamanho atual do jogo e diminuo 60px nela
	var h = tamanho_jogo - 60;
	//Só vou permitir a diminuição da chage até o limite de 350px
	if ( !( h <  420 ) ) {
		//Atualizo a tamanho do jogo
		tamanho_jogo = h;
		//Pego o tamanho horizontal proporcional ao tamanho vertical do jogo
		var w = retornaWidth( h );
		//Posiciono a jogo no centro da tela
  		if ( screen.width > 600 ) {
           var posDiv =  ( ( screen.width - w ) / 2 ) - 130;
        } else {
           var posDiv =  ( ( screen.width - w ) / 2 );
        }
		//Posição do div fechar é o tamanho vertical do jogo + 3px
		var top = h + 12;
		//Redimenciono o div do jogo
		resizeDiv2(w, h);
		//Altero as propriedades da pagina
		altera_propriedades_pagina(posDiv, top, w);
	} //if
}

//Funo que modifica as propriedades dos divs
function altera_propriedades_pagina(posDiv, top, w) {
	//Altero as propriedades do div jogohome
	//$('jogohome').style.position = 'absolute';
	document.getElementById('jogohome').style.position = 'absolute';
	document.getElementById('jogohome').style.top = '75px';
	document.getElementById('jogohome').style.zIndex = '99999999';
	//Posiciono o div do jogo no centro da tela
	document.getElementById('jogohome').style.left = posDiv + "px";
	//Faço o div fechar aparecer
	document.getElementById('fechar').style.visibility = "visible";
	document.getElementById('fechar').style.zIndex = '99999999';
	//Escondo o div de publicidade para não atrapalhar a jogo
    //$('publicidade').style.visibility = "hidden";
    //$('banner-468x60').style.visibility = "hidden";
    //$('banner-120x60').style.visibility = "hidden";
    //$('banner-120x600').style.visibility = "hidden";
    //$('banner-120x300').style.visibility = "hidden";
    //$('banner-250x250').style.visibility = "hidden";
	//Escondo a busca
	//$('field_busca').style.visibility = "hidden";
	//Escondo a barra do UOL
	//$('barra_uol').style.visibility = "hidden";
	//Tamanho que o div fechar vai ficar
	tamanho = w - 10;
	top = top + 71;
	document.getElementById('fechar').style.width = tamanho + "px";
	//Posição do div logo abaixo do jogo
	document.getElementById('fechar').style.top = top + "px";
	document.getElementById('fechar').style.left = posDiv + "px";
}

//De acordo com o tamanho vertical da tela calculo o tamanho do meu novo jogo
function amplia_jogo() {
	//Modifica o tipo de abertura para o navegador Opera
	if ( !window.opera ) {
		//O tamanho do jogo sera o tamanho vertical do monitor - 220px
		var h = screen.height - 220;
		tamanho_jogo = h;
		//Pego o tamanho horizontal proporcional ao tamanho vertical do jogo
		var w = retornaWidth( h );
		//Posiciono a jogo no centro da tela
        if ( screen.width > 600 ) {
            var posDiv =  ( ( screen.width - w ) / 2 ) - 150;
        } else {
            var posDiv =  ( ( screen.width - w ) / 2 );
        }
		//Posição do div fechar é o tamanho vertical do jogo + 3px
		var top = h + 12;
		//Redimenciono o div do jogo
		resizeDiv(w, h);
		altera_propriedades_pagina(posDiv, top, w);
		var movie;
		if ( navigator.appName.indexOf("Microsoft Internet") == -1 ) {
			movie = getFlashMovieObject("jogo");
		} else {
			movie = window["jogo"];
		}
		//Inicia a jogo
		//movie.Play();
	}
	else {
		h = 668;
		w = retornaWidth( h );
		//window.open(""+EnderecoSite+"verjogo_opera.php?jogo=" + $('objetoflash').value + "&w=" + w + "&h=" + h,"jogo","status=no,fullscreen=yes,width="+w+",height="+h+",resizable=yes");
	}
}

//Restauro a jogo ao tamanho original e posiciono ela no seu local através do estilo
function restaura_jogo() {
	//Redimenciono o div do jogo para o tamanho original
	resizeDiv(585,424);
	//Altero as propriedades do div jogohome
	document.getElementById('jogohome').style.zIndex = '80';
	document.getElementById('jogohome').style.position = 'relative';
	document.getElementById('jogohome').style.top = '0px';
	document.getElementById('jogohome').style.left = '0px';
	//Escondo o div fechar
	document.getElementById('fechar').style.visibility = "hidden";
	//Volto o div da publicidade
	//$('publicidade').style.visibility = "visible";
    //$('banner-468x60').style.visibility = "visible";
    //$('banner-120x60').style.visibility = "visible";
    //$('banner-120x600').style.visibility = "visible";
    //$('banner-120x300').style.visibility = "visible";
    //$('banner-250x250').style.visibility = "visible";
	//Volto a busca
	//$('field_busca').style.visibility = "visible";
	//Volto a barra do UOL
	//$('barra_uol').style.visibility = "visible";
	var movie;
	if ( navigator.appName.indexOf("Microsoft Internet") == -1 ) {
		movie = getFlashMovieObject("jogo");
	} else {
		movie = window["jogo"];
	}
	//Inicia a jogo
	//movie.Play();
}

function volta_jogo() {
	var movie = getFlashMovieObject("jogo");
	//Volto para o inicio
	//movie.Rewind();
}

function pausa_jogo() {
	var movie = getFlashMovieObject("jogo");
	//Paro a jogo
	//movie.StopPlay();
}

function play_jogo() {
	var movie;
	if ( navigator.appName.indexOf("Microsoft Internet") == -1 ) {
		movie = getFlashMovieObject("jogo");
	} else {
		movie = window["jogo"];
	}
	//Inicia a jogo
	//movie.Play();
}

Obrigado por qualquer ajuda!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá.

Tive o mesmo problema com um select de cores, que no Windows 7 carrega a cor do fundo no FF e IE

e não no chrome, e pior ainda no Win 8.1 nao carrega em nenhum. Conforme o Rafael me falou há alguma diferença de interpretação dos Brawsers para isso.

No meu caso a solução foi usar um colorslect.js, para selecionar a cor em um campo select ao lado do outro.

No Chrome meus scripsts também não funcionam bem.

Parei de usa-lo e oriento os usuários do meu aplicativo a usar o FF ou IE.


Você pode clicar com direito no ícone do crhome na área de trabalho e solucionar problrmas de compatibilidade.

No meu caso não funcionou.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Dá uma pesquisada por "Fullscreen API" do HTML5. Acredito que vai atender melhor as suas necessidades.

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.