2016-03-25 16 views
0

Bu işlev, URL'ye ?var=foo ekleyerek sayfayı yeniden yükler, böylece yeniden yüklenen sayfa görünür. http://midomain.com/mypage.php?var=foowindow.location + özel window.location.search

pub.reload = function() { 
    var loc = window.location; 
    window.location = loc.protocol + '//' + loc.host + loc.pathname + "?var=foo";; 
}; 

Ben JS konsolundan işlevini çağırdığınızda Çalışıyor ..

Ama HTML bir düğme onu çağırdığınızda şaşırtıcı çalışmıyor. <button onclick="pub.reload()">
Bu şekilde çağrıldığında sayfa yeniden yüklenir, ancak fazladan dize URL'ye eklenmez. (CH ve FF'de test edilmiştir) Kıllarımı, bu basit fonksiyonların, onu kimin aradığına bağlı olarak iki farklı şekilde nasıl davrandığını anlamaya çalışıyorum.

cevap

0

Emin misiniz? Bana iyi çalışıyor gibi görünüyor.

<script> 

var pub = {}; 

pub.reload = function() { 
    var loc = window.location; 
    window.location = loc.protocol + '//' + loc.host + loc.pathname + "?var=foo"; 
}; 

</script> 

<button onclick="pub.reload()">Click me</button> 

muhtemelen sadece var pub; Bilseydin .reload tanımlayan bir hata alıyorum çünkü değişken "pub" bir nesneyi yapmak için unuttum :): mypage.php var = foo: 5 Yakalanmamış TypeError: fonksiyonu bu şekilde sarılır çünkü tanımsız

+0

pub ayarlanamaz mülkiyet 'yeniden' var (function (pub, $, tanımsız) { ... }) (pub = window.pub || {} , jQuery); – palermuke

+0

Neyse, kodunuz çalışıyor, bu yüzden sorun orada olmalı – palermuke

+0

oh üzgünüm, JQuery'ye gerçekten aşina değilim, ama eminim ki pub bir nesne değil, umarım bu onu anlamanıza yardımcı olur –

İlgili konular