Strict Standards: Non-static method themeGluedIdeas_Subtle::initOptions() should not be called statically in /home/riopro/www/blog.riopro.com.br/wp-content/themes/gluedideas_subtle/header.php on line 19
Riopro Blog - » Rails e um bug chamado IE6

Rails e um bug chamado IE6



Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/riopro/www/blog.riopro.com.br/wp-includes/formatting.php on line 82

Esse mês estamos lançando o Zest. Com tudo terminado (na verdade, nem tudo, pois várias funcionalidades ainda estão na fila para serem adicionadas), começou a sobrar um tempinho para voltar a escrever no Blog.

Um bug estranho que tivemos no desenvolvimento do Zest (usando Rails 2.1.0) se deve ao nosso querido Internet Explorer 6. Na verdade, o mesmo comportamento incorreto acontece no IE7. Se trata do cabeçalho que é enviado nas solicitações do IE6.

O IE6 ao fazer uma solicitação não coloca no cabeçalho qual o tipo de solicitação (como text/html ou application/xhtml+xml). Ao invés disso ele coloca uma informação genérica como a abaixo:


image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, */*

Ou seja, o IE6 não informa corretamente como devemos responder para o solicitante. Na nossa aplicação, caso a chamada fosse do tipo html, redirecionávamos para a página inicial de vendas. Se, porém, a chamada fosse de qualquer outro tipo, redirecionávamos para 404 (página não encontrada). Isso fazia com que o usuário do IE 6 e 7 fosse redirecionado para a página 404.

A solução para esse problema encontramos  nesse link que está em inglês. Com base nessa solução, fizemos (na verdade, o Rodrigo fez) um initializer para a nossa aplicação. Para usar, salve o arquivo na pasta config/initializers da sua aplicação. Para nos resolveu o problema, mas faça os testes necessários na sua aplicação, porque não queremos ser responsáveis por nenhum problema que esse workaround possa acarretar na sua aplicação.

Bug de header do IE: workaround na pasta initializer

Update:

Para a versão 2.3.2 ou superior do Rails, mude “ActionController::AbstractRequest” para “ActionController::Request”.

Leia também sobre o assunto em:

  • http://intertwingly.net/blog/2007/08/23/Intermittent-IE-failures

Informações e Links

Junte-se comentando, lendo o que os outros dizem ou colocando um link a partir do seu blog.


Outros Artigos

Strict Standards: Only variables should be assigned by reference in /home/riopro/www/blog.riopro.com.br/wp-includes/post.php on line 117
Envio de e-mails assincronamente com Backgroundjob (Bj)

Strict Standards: Only variables should be assigned by reference in /home/riopro/www/blog.riopro.com.br/wp-includes/post.php on line 117
Funcionalidades interessantes no Redmine

Comente

Tire um tempo para comentar e nos dizer o que você acha. Alguns códigos HTML são permitidos para formatação.

Comentários dos Leitores

Seja o primeiro a comentar!