• 0
Sign in to follow this  
hipnos na area

atribuir onerror a tag script dinamicamente

Question

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

Edited by hipnos na area

Share this post


Link to post
Share on other sites

2 answers to this question

Recommended Posts

  • 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.

Share this post


Link to post
Share on other 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 ;) Edited by hipnos na area

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this