2012-06-08 15 views
6

kodum chrome'da iyi çalışıyor.firefox javascript geri dönüşü href tarayıcıyı yönlendirir ve yanlış görüntüleniyor

<body> 

<a href="javascript: sam.save();">hehe</a> 

<script> 

var sam = { 
    save : function() 
    { 
     alert("here") 
      return false;  
    } 
} 
</script> 

firefox'taki vadede sayfa yönlendirir ve yanlış resimde gibi adres çubuğu içeriği ile ekranda görüntülenir

enter image description here

firefox sürüm 9.0.1

olduğunu öneri ve çevreler lütfen ...

+0

render edilir ve Firefox'un son sürümü çalışır. Bu 13.0 var, bu yüzden biraz ... – Guffa

+0

kodunda link tıkladıktan sonra –

cevap

4

Belirteceğiniz kod, gözlemlediğiniz davranışları üretememektedir. Gözlemlenen davranış yalnızca sam.save()false döndüğünde gerçekleşir, oysa belirtilen kod undefined döndürür. Asıl tam kodunuz neye benziyor?

Düzeltme: Yararlı yanıt bir yorumda idi. Bulmayı kolaylaştırmak için buraya koydum.

Oh, uyarıdan sonra "false 'i geri kaçırdım. Bu durumda, gördüğünüz davranış doğrudur: javascript: execution undefined dışında bir değer döndürürse, bu değer bir HTML dizisi olarak ele alınır ve işlenir. En azından çoğu tarayıcıda. - Boris Zbarsky Jun 11 at 15:25

+0

tam kodu vermiş olduğum şey ... geri döndüğünüzde söylediğiniz gibi sonuç ekran görüntüsünde ... eğer geri dönüş yok ise o zaman her şey iyi çalışıyor ... –

+2

Oh, I Uyarıdan sonra "yanlış dönüş" cevapsız. Bu durumda, gördüğünüz davranış doğrudur: javascript: execution, "undefined" dışında bir değer döndürürse, bu değer bir HTML dizisi olarak ele alınır ve işlenir. En azından çoğu tarayıcıda. –

5
<a href="#" onclick="sam.save();">hehe</a> 
+0

ekran görüntüsü gibi yeniden yönlendiriyordum ... daha önce biraz farklılıklar sonra kod gibi yaptım. –

6

Bazı nedenlerden ötürü false, FF içinde href = "javascript:" içinde çalışmaz, ancak geçersiz (0) yapar.

Firefox:

<a href="javascript: sam.save();void(0);">hehe</a> 
+0

Bu bana bazı baş ağrıları kurtardı. Teşekkürler – insaner

2

daha uyumlu sözdizimi

<a href="javascript:void(0)" onclick="sam.save()">hehe</a> 
+0

Sadece benim için çalıştı. –

0

bu yardımcı olur

`<a href="javascript: void(sam.save())">hehe</a>` 

Umut ... nasıl çalıştığını

0

Örnek denemek olmalıdır: İkinci ve üçüncü bir beyaz işleniyor Sayfa

Krom: İlk vaka ben kod test beyaz sayfa

<body> 

<a href="javascript: something.with_early_return();">with_early_return</a> 
<a href="javascript: something.with_false();">with_false</a> 
<a href="javascript: something.with_string();">with_string</a> 

<script> 

var something = { 
    with_early_return: function() { 
     alert("with_early_return"); 
     return; 
    }, 

    with_false: function() { 
     alert('with_false'); 
     return false; 
    }, 

    with_string: function() { 
     alert('with_string'); 
     return 'It renders this as text'; 
    } 
} 
</script> 
İlgili konular