Ir para conteúdo

Arquivado

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

Celamar

[Resolvido] Erro IE

Recommended Posts

Bom dia,

Estou com problemas com o prototype no IE no servidor de produção, no servidor de desenvolvimento funciona.

O Erro é: O objeto não dá suporte para a propriedade ou método

A linha do erro é:

$($(id_barra).addClassName("barra_carregamento"))

function setPorcentagemBarra(id_barra, valor) {
	Element.extend(id_barra);
	if( valor < 100 ) {	
		//$(id_barra).addClassName("barra_carregamento");
		$($(id_barra).addClassName("barra_carregamento")); //teste IE
		$(id_barra).innerHTML = "<span></span><div></div>";
		//$(id_barra ).setStyle( { borderColor: "#B32E2E" } ); //borda vermelha	
		$($(id_barra).setStyle( { borderColor: "#B32E2E" } )); //teste IE - borda vermelha	
 
		$$("#" + String(id_barra) + " span")[0].setStyle( { backgroundColor: "#B32E2E" } );//fundo vermelho
		$$("#" + String(id_barra) + " span")[0].innerHTML = String(valor) + "%";		
		valorBarra = parseInt(valor/10);
		valorBarra = valorBarra * 10;
		var posicao = String(-80+((valorBarra/10)*8)) + "px center";
		$$("#" + String(id_barra) + " div")[0].setStyle( { backgroundPosition: posicao } );		
	} else {
		//$(id_barra ).setStyle( { borderColor: "#487722" } ); //borda verde
		$($(id_barra).setStyle( { borderColor: "#487722" } )); //teste IE - borda verde
		$$("#" + String(id_barra) + " span")[0].setStyle( { backgroundColor: "#487722" } );//fundo verde
		$$("#" + String(id_barra) + " span")[0].innerHTML = "100%";		
		$$("#" + String(id_barra) + " div")[0].setStyle( { backgroundPosition: "0 center" } );
	}
	
	return id_barra;
}

Dei uma olha no site oficial http://prototypejs.org/learn/extensions, fiz alguns testes e o erro continua.

O mais estranho é que no servidor de desenvolvimento funciona. Os scripts estão idênticos, já alterei de várias formas e nada deu certo.

Estou usando a biblioteca prototype versão 1.6.0.3 no servidor de aplicação de desenvolvimento e a versão é 1.6.1 na produção.

 

Alguém tem alguma idéia?

Obrigada.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Consegui resolver pessoal, o IE não suportava da forma como foi implementado, tive que mudar toda a função.

Se alguem um dia precisar, segue....

 

function setPorcentagemBarra(id_barra, valor) {	
	if( valor < 100 ) {			
		var valorBarra = parseInt(valor/10);
		var valorBarra = valorBarra * 10;
		var posicao = String(-80+((valorBarra/10)*8)) + "px center";
		
		Element.addClassName(id_barra, 'barra_carregamento');
		Element.setStyle(id_barra, 'border-Color: #B32E2E'); //borda vermelha
		Element.update(id_barra, '<span style="background-Color: #B32E2E">'+valor+'%</span><div style="background-Position: '+posicao+'"></div>');		
	} else {
		Element.setStyle(id_barra, 'border-Color: #487722')
		Element.update(id_barra, '<span style="background-Color: #487722">100%</span><div style="background-Position: 0 center"></div>');
	}
		
	return id_barra;
}

Té mais

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.