2011-08-10 12 views
8

Birisi JavaScript bir sayfayı yeniden 535 farklı şekilde sıraladı535 Sayfayı JavaScript ile yeniden yükleme yolları - sonuç nedir? Örneğin</p> <p><a href="http://www.phpied.com/files/location-location/location-location.html" rel="noreferrer">http://www.phpied.com/files/location-location/location-location.html</a></p> <p>:

location = location 
location = location.href 
location = window.location 
location = self.location 
location = window.location.href 
location = self.location.href 
location = location['href'] 
location = window['location'] 
location = window['location'].href 
location = window['location']['href'] 
location = window.location['href'] 
location = self['location'] 
location = self['location'].href 
location = self['location']['href'] 
location = self.location['href'] 
location.assign(location) 
location.replace(location) 
window.location.assign(location) 
window.location.replace(location) 
self.location.assign(location) 
self.location.replace(location) 
location['assign'](location) 
window.location['assign'](location) 
self['location'].assign(location) 
self['location']['assign'](location) 
self['location']['replace'](location) 
location.href = location 
location.href = self.location 
location.href = window.location.href 

herkes bu tarayıcıda farklı olarak ele alınır bilir merak ediyorum - Biri sayfayı yeniliyor mu, ancak önbellek busts - ya da durum böyle değil mi?

+3

o sanki görünüyor (yani tüm biçimli değerleri geçer) teslim yolların çoğunluğu şunları içerir: 'location.assign',' location.replace' ve 'location.reload' işlevlerini kullanarak' location' doğrudan değiştirme. Gerisi aynı değerlere erişmenin sadece iki yolu. – zzzzBov

+6

Daha fazla 3 yol gizlenmiş 535 kez –

+0

Tüm tarayıcılarda çalışmak istiyorsanız standart window.location.reload() kullanın. – Gerben

cevap

6

Tüm bu örnekler tarayıcı tarafından aynı şekilde ele alınır. Aslında, çoğu, Javascript'teki bir değişkene erişmenin farklı yollarıdır. Muhtemelen benzer bir listeyi "XXX global değişkene başka bir global değişkenin değerini atamanın farklı yolları" ile yazabilirsiniz.

Örneğin: location.href, window.location.href, self,location.href, location['href'], window.location['href'], self.location['href'] hepsi aynı değere işaret ediyor. Yayınladığınız listesinde

, sadece iki gerçekten farklı yolu bu şunlardır: a form gibi

location = location //asign the whole location object to the location global variable 
location = location.href //asign the string location.href to the location global variable 
+0

Gönderdiği örneklerde, konumun karma olması durumunda sayfanın gerçekte yeniden yüklenmesinin hiçbir yolu yoktur. Bağlantılı sayfada 'location.reload()' gibi şeyler var, ancak bu sayede sayfayı yeniden yükleyin. – Robert

İlgili konular