Başlamadan önce jQuery, DOM manipülasyonu için kullanılan bir JavaScript kütüphanesidir. Bu nedenle, sayfa yönlendirmesi için jQuery kullanmamalısınız.
Jquery.com'dan bir teklif:
JQuery, eski tarayıcı sürümlerinde önemli sorunlar olmadan çalışabilse de, jQuery'yi aktif olarak test etmiyoruz ve genellikle içinde görünebilecek hataları düzeltmiyoruz.
Burada bulundu:
https://jquery.com/browser-support/
Dolayısıyla jQuery geriye dönük uyumluluk için bir son ve hepsi bir çözüm değildir.
Ham JavaScript kullanan aşağıdaki çözüm tüm tarayıcılarda çalışır ve uzun süredir standarttır, bu nedenle çapraz tarayıcı desteği için herhangi bir kütüphaneye ihtiyacınız yoktur.
Bu sayfa 3000 milisaniyeden sonra Google'a yönlendirilecek
<!DOCTYPE html>
<html>
<head>
<title>example</title>
</head>
<body>
<p>You will be redirected to google shortly.</p>
<script>
setTimeout(function(){
window.location.href="http://www.google.com"; // The URL that will be redirected too.
}, 3000); // The bigger the number the longer the delay.
</script>
</body>
</html>
Farklı seçenekler aşağıdaki gibidir:
window.location.href="url"; // Simulates normal navigation to a new page
window.location.replace("url"); // Removes current URL from history and replaces it with a new URL
window.location.assign("url"); // Adds new URL to the history stack and redirects to the new URL
window.history.back(); // Simulates a back button click
window.history.go(-1); // Simulates a back button click
window.history.back(-1); // Simulates a back button click
window.navigate("page.html"); // Same as window.location="url"
Değiştir'i kullanırken, geri düğmesi, hiç geçmişte olmamış gibi yönlendirme sayfasına geri dönmeyecektir. Kullanıcının yönlendirme sayfasına geri dönmesini istiyorsanız window.location.href
veya düğmesini kullanın window.location.assign
. Kullanıcının yönlendirme sayfasına geri dönmesini sağlayan bir seçenek kullanırsanız, yönlendirme sayfasına girdiğinizde bunun sizi yeniden yönlendireceğini unutmayın. Yönlendirmeniz için bir seçenek belirlerken bunu göz önünde bulundurun. Sayfanın yalnızca kullanıcı tarafından bir işlem yapıldığında yeniden yönlendirildiği koşullar altında, sayfanın geri düğmesi geçmişinde bulunması iyi olur. Ancak sayfa otomatik yönlendirmeler yapıyorsa, kullanıcının yönlendirmeyi gönderdiği sayfaya geri dönmeye zorlamadan geri düğmesini kullanabilmesi için replace komutunu kullanmalısınız.
Meta verileri aşağıdaki gibi bir sayfa yönlendirmesi çalıştırmak için de kullanabilirsiniz.
META Yenileme
<meta http-equiv="refresh" content="0;url=http://evil.com/" />
META Bölgesi
<meta http-equiv="location" content="URL=http://evil.com" />
TABAN Ele Geçirme
<base href="http://evil.com/" />
Şüphesiz istemcinizi gitmek istemeyecekleri bir sayfaya yönlendirmek için daha birçok yöntem bu sayfada bulunabilir (bunlardan biri jQuery'ye bağlı değildir):
https://code.google.com/p/html5security/wiki/RedirectionMethods
Ayrıca belirtmek isterim ki insanlar rastgele yönlendirilmek istemiyorlar. İnsanları yalnızca kesinlikle gerektiğinde yönlendirin. İnsanları rastgele yönlendirmeye başlarsanız bir daha asla sitenize gitmezler.
Sonraki paragraf varsayımsaldır:
Ayrıca kötü amaçlı bir site olarak bildirilebilir. Bu durumda, kullanıcılar sitenizin bağlantısını tıkladığında, kullanıcılar tarayıcısı sitenizin kötü amaçlı olduğu konusunda onları uyarabilir. Ne olabilir, insanlar sitenizde kötü bir deneyim bildiriyorsa arama motorları puanınızı düşürmeye başlayabilir.
Lütfen yönlendirmelerle ilgili Google Web Yöneticisi Yönergeleri'ni inceleyin:
https://support.google.com/webmasters/answer/2721217?hl=tr&ref_topic=6001971
İşte sizi sayfadan çıkaran eğlenceli küçük bir sayfa.
<!DOCTYPE html>
<html>
<head>
<title>Go Away</title>
</head>
<body>
<h1>Go Away</h1>
<script>
setTimeout(function(){
window.history.back();
}, 3000);
</script>
</body>
</html>
İki sayfa örneğini bir araya getirirseniz, kullanıcılarınızın sitenizi bir daha asla kullanmak istemeyeceğini garanti edecek bir yeniden yönlendirme döngüsüne sahip olursunuz.