Ir para conteúdo

POWERED BY:

Arquivado

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

Tiago sd Franco

Menu asp.net nao funciona Google Chrome

Recommended Posts

Ola pessoal, estou com problemas em relacao ao browser Google Chrome, tenho um aplicativo que utiliza o menu do VS2008 do Asp.Net. Esta aplicacao funciona normalmente no Firefox e IE. Hoje quando baixei o GChrome fui testar esse aplicativo e vi que o menu nao fica da mesma forma. No firefox tenho um item do menu chamado "Cadastros" que se o mouse fica no em cima mostra os subitens desse menu. No Chrome ele fica com um botao de "expandir Cadastro" e quando clica da um post na pagina e mostra os subitens desse menu.

 

Alguem ja fez esse teste e pode me ajudar?

 

obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Lembre-se que o Chrome está em fase de testes ainda. Muitos bugs aparecerão pela frente. Eu mesmo já reportei 5-6 sites como referência de erro para que a equipe de desenvolvimento possa trabalhar esses bugs.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Tiago.

 

Estou passando pelo mesmo problema. Mas já percebi que o problema não é do Chrome, e sim do .net

O ASP.NET antes de gerar o código HTML que é enviado para o Browser, ele verifica qual é o browser, para fazer os ajustes necessários no código, capaz de gerar o resultado perfeito. Isso é um recurso ótimo do .net, porém no caso do Chrome ele se confunde todo e gera um código louco para o menu. Creio que isso se deve ao fato do .net ainda não conhecer o Chrome. Talvez até haja uma atualização para ele, porém como me deparei que esse problema ontem, ainda não pesquisei.

Ainda não tive tempo de buscar pela solução, afinal, o chrome deve se tornar bastante usado, mais ainda falta um pouco para que nós, desenvolvedores, tenhamos que nos preocupar fortemente com isso.

De qualquer forma, assim que pintar um tempinho vou pesquisar. Creio que o problema pode ser tratado no próprio asp.net, pois tem como configurar o comportamento desejado para browsers diferentes.

Se eu achar a solução eu posto aqui no forum.

 

Abraços,

 

NEILSON

Compartilhar este post


Link para o post
Compartilhar em outros sites

O menu asp.net faz uma verificação para ver se o browser do cliente suporta ou não JavaScript. Mas a verificação não é a das melhores!

 

Então você pode forçar a execução do JavaScript para a exibição do menu substituindo o método Page_PreInit na página dizendo assim para a página que o cliente possui um moderno "uplevel" browser:

 

	protected void Page_PreInit(object sender, EventArgs e)
	{
		if (Page.Request.ServerVariables["http_user_agent"].ToLower().Contains("safari"))
		{
			Page.ClientTarget = "uplevel";
		}
	}

Observe que você tem que fazer isso no arquivo classe da página, e não na classe da página master. Obviamente, isto significa que você deve fazer isso para cada página - o que não é ideal.

 

Para facilitar e não precisar sair escrevendo este metodo em todas as paginas basta fazer uma classe que herda de System.Web.UI.Page copiar o metodo acima, e mudar todas as suas páginas para herdar dessa classe.

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.