Ir para conteúdo
Fórum Script Brasil
  • 0

atribuir onerror a tag script dinamicamente


hipnos na area

Pergunta

criei uma função que chama um javascrpit dinamicamente usei

setAttribute("onerror","alert('erro')")
para acaso ocorra erro na conexão ele informe ao usuario o erro tipo: falha ao carregar. Porem o IE6 parece não suportar onerror na tag script. ae tentei applicar o seguinte:
function addEvent(object, evType, func, useCapture)
{
    if(object.addEventListener){
        object.addEventListener(evType, func, useCapture);
    } else
    if(object.attachEvent){
        object.attachEvent("on" + evType, func);
    }
}

function chamascript(url){
         var ssss = document.createElement('script');  
         ssss.setAttribute('src',url);
         addEvent(ssss, "error", function(){ alert("erro"); }, false);
         document.body.appendChild(sssss);
}
Bem alguém tem alguma solução para o atributo ONERROR no IE6, nem prescisar ser relamente ONERROR e sim talvez alguma gambiarra que simule ou algo do genero ;) porem não consegui de nenhuma maneira talvez o motivo seja este: http://webbugtrack.blogspot.com/2007/08/bu...lways-work.html
on*: Inline events can not be set in IE, attach event handlers instead
Bem como eu disse se alguém souber alguma gambiarra ou alternativa ficaria agradecido ;) [atualizado] tentei a seguinte maneira mas IE6 não deu resulatado:
<script>
function chamascript(url){
         var ssss = document.createElement('script');  
         ssss.setAttribute('src',url);
         document.body.appendChild(sssss);
}

window.onerror = function (){
alert("erro");
}
</script>

<a href="java script:chamascript('url.js')">link-me</a>

será que estou fazendo algo errado ;P

Editado por hipnos na area
Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

Bom eu poderia dar uma solução que dependendo do seu código pode funcionar.

Por que não usa o try e catch? Tente executar a ação com o try e caso não obtenha sucesso, execute a exceção catch.

try{
tentaConexao()
}
catch(e){alert("Erro na execução")}

Talvez dê certo.

Sumido no fórum hein Guilhermão...o trampo ta pegando pesado né danado?

Aquele abraço.

Link para o comentário
Compartilhar em outros sites

  • 0

Bem falar a verdade acredito que o problema seja o seguinte.

O IE6 não execulta ON(altomaticos) de paginas que já tenham sido carregadas

o Try e catch não funcionam por que na verdade não ocorre erro(o IE6 pensa assim)

o painel de erros não retorna nenhum problema.

tentei até mesmo o uso de

ssss.onreadystate= function(){
alert(this.readystate);
}

o IE mesmo que não encontre o arquivo ele retorna isso:

loading e depois loaded, que o loaded equivale ao complete porem mesmo que tenha falha na leitura ele considera o arquivo carregado.

teria alguma ideia de como fazer uma gambiarra?

(eu até fiz uma em PHP combinado ao javascript mas ta dificil =/ )

Sumido no fórum hein Guilhermão...o trampo ta pegando pesado né danado?
é mas agora to mais tranquilo hehehe vou voltar a frequentar ;) Editado por hipnos na area
Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,7k
×
×
  • Criar Novo...