Hi! Do you wanna see the English version?

Blog

Solução para erro no IE: operação anulada

Sexta-feira, 31 de Outubro, 2008 | 13 comentários

Este não é um problema novo, porém me deparei somente agora. E lá vou eu compartilhar a história.

Situação

Um cliente me liga avisando que não consegue abrir um link de um sistema no IE. Simplesmente dá erro e aborta o link.

Observei o código inteiro, aparentava tudo certo e funciona em outros browsers (Firefox, Opera, etc.).

Erro

O Internet Explorer não pode abrir o site da Internet http://seusite.com.br/link.
Operação anulada.

O que fazer quando o IE exibe a mensagem acima (em alert) e depois redireciona para uma página de erro interna?

Causa

Isso ocorre quando existe algum código JavaScript modificando o DOM antes do término do carregamento da página.

Solução

Certifique-se de que seus trechos de códigos rodem depois que o DOM estiver completamente carregado (DOM ready).

Se você usa jQuery, pode fazer:

$(document).ready(function()
{
	/*
	 * insira seu código aqui
	 */
});

Simples assim :-)

13 comentários:

Rafael Marin disse:

Acredito que window.onload = function() { } faça o mesmo, sem uso de bibliotecas, só para complementar as soluções.

Ciro Feitosa disse:

@Rafael:
Obrigado pela complementação. Sim, funciona da mesma forma. Eu acabei exemplificando apenas com jQuery  :-|

Tiago Celestino disse:

Não é que tive o mesmo problema Ciro, e essa semana também.

O problema tava rolando por causa de um script em scriptaculus, que estava usando.

Minha solução foi outra: tirar o código da página.  :D

Jhonathan José disse:

Fantástica esta do window.onload, funcionou mesmo. Resolveu o problema do sistema aqui

Deise Santos disse:

Oi pessoal, criei um site e joguei num template do wordpress, qdo tento carregar no IE dá o erro de \'operação anulada\'. Vi as soluções aqui, mas não soube como aplicá-las, alguém pode me ajudar?
meu site é http://www.revoluta.com
muito grata!

Silvio disse:

Caros Amigos,

Estou com o mesmo problema, só que isso começou a ocorrer do nada, não fiz nenhuma modificação no template. Tentei implementar suas dicas, porém não sei como fazer ao certo, poderia me dar uma ajuda?

Desde já agradeço.
Atenciosamente
Silvio K. Junior

rickardo disse:

tenho o mesmo problema , após adicionar o ligthbox...
alguem poderia me ajudar a resolver o problema????

bruno disse:

eu tambem to com o mesmo problema o que eu faço????? por favor me ajude???? :roll: :!: :!: :!: :lol: :cry: :cry: :cry: :cry:

Micox disse:

Além do ready do jquery e do onload, há uma opção que pode ser feita diretamente no HTML da tag script:

DEFER=\'DEFER\'

Informações: http://codare.net/2007/09/15/javascript-executando-scripts-apos-o-carregamento-da-pagina/

luiz américo disse:

Ciro, Estou utilizando o lightbox 2, e estou com esse problema no IE 6, de operação anulada, porém estou lendo seu artigo, mas nao entendi realmente onde devo chamar os .js

exemplo meu problema é:

<script type="text/javascript" src="includes/prototype.js"></script>
<script type="text/javascript" src="includes/scriptaculous.js?load=effects,builder"></script>

<script type="text/javascript" src="includes/lightbox.js"></script>

como devo procedecer com chamado do
$(document).ready(function()
{
/*
* insira seu código aqui
*/
});


em qual momento??

dentro de cada arquivo?
pode exemplificar??

Elias Zeni disse:

Estou com o mesmo problema do Luiz Americo, tambem estou usando o lightbox 2, e o navegador tambem da Operação Anulada.
como uso o "$(document).ready(function..." nas tags

<script type="text/javascript" src="includes/prototype.js"></script>
<script type="text/javascript" src="includes/scriptaculous.js?load=effects,builder"></script>

<script type="text/javascript" src="includes/lightbox.js"></script>

Já tentei inumeras formas diferentes , ou o efeito não funciona ou da erro...
Pode nos ajudar ?

Leonardo Andrade disse:

E quando isso acontece no próprio site da Microsoft?
http://www.microsoft.com/brasil/licenciamento/

JackSSL disse:

"E quando isso acontece no próprio site da Microsoft?"

LoL

Comente:





Comentário enviado!