Yanıtlar:
window.location.href = 'URL';
geçerli pencerenin konumunu değiştirmek için kullanılan standart uygulamadır.
window.location.href
tam bir uygulama olduğunu söylemek daha doğru , ancak window.location
aynı şeyi başarıyor. Bkz. Docs.sun.com/source/816-6408-10/location.htm : "Bir location
nesnenin özelliğine bir dize atarsanız , JavaScript bir location
nesne oluşturur ve bu dizeyi href
özelliğine atar ."
window.location
ancak bu her iki şekilde de olması gerekmez: developer.mozilla.org/en/window.location .
window.location.href = 'URL';
ve ayrıca window.location.assign('URL');
yeni bir sayfayı yeniden yüklemek için tasarlanmış yöntem. Daha fazla bilgi bulunabilir w3schools.com/jsref/obj_location.asp
window.navigate
Internet Explorer tarafından kullanılan özel bir yöntemdir (diğer tarayıcıların uyumluluk için taklit edip etmediğinden eminim, Chrome bunu yapmaz). document.location
veya window.location
standart nesnelerdir (çeşitli HTML / HTML5 / DOM spesifikasyonlarına bakın). document.location = someURL
(veya window.location = someURL
) büyük olasılıkla eski kod nedeniyle destekleniyor. Bunu yapmanın doğru yolu document.location.href = someURL
, belki de document.location.assign(someURL)
.
window.navigate bazı tarayıcılarda desteklenmiyor
Java betiğinde yeniden yönlendirme için birçok yol vardır, aşağıdaki koda ve açıklamaya bakın
window.location.href = "http://krishna.developerstips.com/";
window.location = "http://developerstips.com/";
window.location.replace("http://developerstips.com/");
window.location.assign("http://work.developerstips.com/");
window.location.href sayfayı tarayıcının önbelleğinden yükler ve her zaman isteği sunucuya göndermez. Bu nedenle, sayfanın önbelleğinde eski bir sürümü varsa, sunucudan yeni bir sayfa yüklemek yerine oraya yönlendirir.
Kullanıcının orijinal belgeye geri dönmek için geri düğmesini kullanmasına izin vermek istiyorsanız window.location.assign () yöntemi.
window.location.replace () yöntemini kullanarak yeni bir sayfaya yönlendirmek istiyorsanız ve kullanıcının geri düğmesini kullanarak orijinal sayfaya gitmesine izin vermiyorsanız.
window.location
ayrıca çerçeveyi etkiler,
bulduğum en iyi form:
parent.window.location.href
Ve daha da kötüsü:
parent.document.URL
Ben büyük bir tarayıcı testi yaptım ve birkaç eklentisi ile bazı nadir IE ikinci formu ile tanımsız olsun.
window.location
tarayıcı hedefinizi etkiler. document.location yalnızca tarayıcınızı ve çerçevenizi / iframe'inizi etkiler.
window.navigate
bazı tarayıcılarda DESTEKLENMEMEKTEDİR, bu nedenle bunlardan kaçınılmalıdır. Location özelliğini kullanan diğer yöntemlerden herhangi biri en güvenilir ve tutarlı yaklaşımdır
Ben giderdim window.location = "http://...";
. Tarayıcılar arası JavaScript'i birkaç yıldır kodluyorum ve bu yaklaşımı kullanırken hiç sorun yaşamadım.
window.navigate
ve window.location.href
bana biraz tuhaf geliyor.
Gerçekten bir fark yok; bunu yapmak için yaklaşık 5 farklı yöntem vardır. Ancak, en sık gördüklerim document.location
ve window.location
tüm büyük tarayıcılar tarafından desteklendikleri için. (Şahsen window.navigate
üretim kodunda hiç kullanıldığını görmedim , bu yüzden belki de çok iyi bir desteği yok?)
için destek de document.location
, kullanımdan kaldırılmış bir yöntem olsa da iyidir. Bu yöntemi bir süredir problemsiz kullanıyorum. daha fazla ayrıntı için buraya başvurabilirsiniz:
https://developer.mozilla.org/en-US/docs/Web/API/document.location
Sayfanızı kullanarak
window.location.href =Url;