Código funciona no FF e IE, mas não no Chrome.
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!
Discussão (2)
Carregando comentários...