58 Soru: Başka bir web sayfasına nasıl yönlendiririm?

tarafından oluşturulan soru Tue, Feb 6, 2018 12:00 AM

jQuery veya salt JavaScript kullanarak kullanıcıyı bir sayfadan diğerine nasıl yönlendirebilirim?

    
7729
  1. Her iki window.location = url'yi görmeye devam ediyorum; ve window.location.href = url; Nasıl farklılar? Onlar mı? Btw, window.location.replace (url) hakkında bilmiyordum. Güzel.
    2012-06-07 14: 24: 45Z
  2. window.location, davranış açısından window.location.href ile aynıdır. window.location bir nesneyi döndürür. .href ayarlanmadığında, window.location, .href parametresini değiştirir. Sonuç: İkisinden birini kullanmak sorun değil.
    2012-08-07 07: 03: 58Z
  3. var url = "web sitesi adı" $(konum) .attr ('href', url);
    2013-02-18 11: 30: 19Z
  4. @ MadScientist Bunu yapmak için geriye dönük bir yoldur. Konum nesnesi bir HTML öğesi değildir ve ayarlamak için jquery nesnesini kullanmak sadece yanlış görünüyor. Düz JS kodu bu kadar basitken neden bunu kullandınız?
    2013-11-26 20: 25: 46Z
  5. Neden yönlendirmek istiyorsunuz? Giriş formu gönderilmemeli midir? Ve hedef sayfada mantık olmasa bile, formu başka bir sayfaya gönderebileceksiniz.
    2014-02-16 14: 45: 44Z
30 Yanıtlar                              30                         

Kişi sadece jQuery kullanarak yönlendirmez

jQuery gerekli değildir ve window.location.replace(...) üçlü> bir HTTP yönlendirmesini simüle eder.

window.location.replace(...), window.location.href'u kullanmaktan daha iyidir, çünkü replace() kaynak sayfayı oturum geçmişinde tutmaz; bu, kullanıcının hiç bitmeyen bir geri düğmesi fiyaskounda sıkışıp kalmayacağı anlamına gelir.

Bir bağlantıya tıklayarak birini simüle etmek istiyorsanız,   location.href

Bir HTTP yönlendirmesini simüle etmek istiyorsanız, location.replace kullanın

Örneğin:

 
// similar behavior as an HTTP redirect
window.location.replace("http://stackoverflow.com");

// similar behavior as clicking on a link
window.location.href = "http://stackoverflow.com";
    
14059
2019-05-19 13: 36: 05Z
  1. gönderim düğmesi durumunda false; aynı zamanda işlevinizin içinde
    2012-04-19 11: 52: 02Z
  2. Soru özellikle javascript ile ilgilidir, ancak kullanıcının javascript devre dışı bırakılmışsa meta yenilemenin başarısız olarak kullanılabileceğini belirtmekte fayda olabilir
    2013-01-24 00: 51: 34Z
  3. @ NicolòMartini If (IE) document.write ("");
    2013-06-07 13: 28: 29Z
  4. Zaten jQuery kullanıyorsanız, $(location).attr('href',url);'u kullanın. window.location.href bazı tarayıcılarda tutarsız davranışlar sergiliyor, aslında Firefox sürümümde işe yaramadı. window.location ayarının doğrudan IE sürümlerinde çalışmadığını söylediğini duydum.
    2015-01-28 22: 34: 13Z
  5. "iyidir" kaldırılmalıdır. Cevapta daha sonra belirtildiği gibi, en iyi çözüm durumsaldır. OP, "Javascript ile bir HTTP yönlendirmesini nasıl taklit edebilirim?" Sorusunu sormuyor.
    2017-03-23 ​​15: 35: 45Z

UYARI: Bu cevap yalnızca olası bir çözüm olarak verilmiştir; Açıkçası, jQuery gerektirdiği için en iyi çözüm değil . Bunun yerine, saf JavaScript çözümünü tercih edin.

 
$(location).attr('href', 'http://stackoverflow.com')
    
1587
2019-05-19 13: 36: 13Z
  1. Bu, sorunun tam cevabı. Zaten Jquery kullanıyorsanız ve bu nedenle zaten yüklenmişse, bant genişliği daha verimli olur ve kısayolu kullanmak daha açık olacaktır
    2012-01-12 12: 00: 40Z
  2. Daha da önemlisi, bunu kesilmiş olan jQuery ile yapmanın bir yolu var mı? Bu sadece window.location.href = url için bir sarmalayıcıdır; Fakat eğer jQuery bazı fonksiyonlara sahipse, eğer window.location.href = url; mevcut ortamda çalışmayacak (tarayıcı, işletim sistemi vb.) jQuery core bunu telafi edebilir mi?
    2012-02-29 16: 03: 25Z
  3. JQuery'yi bu şekilde denkleme zorlamak sadece saçma ve anlamsız, özellikle window.location bir öğe olmadığı ve bu nedenle öznitelikleri olmadığı için.
    2012-10-03 10: 32: 36Z
  4. Bir şekilde bunun hala .attr()'un öznitelikleri belirlediği jQuery sürümleriyle çalıştığından şüpheliyim (yani, .setAttribute())
    2013-07-03 11: 23: 52Z
  5. @ deltaray Bu, değil , yukarıda belirtildiği gibi, yeniden konumlandırmanın başka bir yoludur, konum nesnesi etrafındaki anlamsız bir sarıcıdır; bir element! Bu bana i.stack.imgur.com/ssRUr.gif
    'yi hatırlatıyor >
    2014-01-23 15: 48: 46Z

Bir sayfayı yeniden yönlendirmenin Standart "vanilya" JavaScript yöntemi:

window.location.href = 'newPage.html';


Yönlendirirken kaybettiğinizden HTTP_REFERER geldiğiniz için buradaysanız, okumaya devam edin:


Aşağıdaki bölüm HTTP_REFERER'u birçok güvenli önlemden biri olarak kullananlar için (harika bir koruyucu önlem olmasa da). Internet Explorer 8 veya daha düşük bir sürümünü kullanıyorsanız, herhangi bir JavaScript biçimini kullanırken bu değişkenler kayboluyor sayfa yönlendirmesi (location.href, vs.).

Aşağıda, IE8 & alt , böylece HTTP_REFERER'ı kaybetmeyiz. Aksi takdirde, hemen hemen her zaman yalnızca window.location.href'u kullanabilirsiniz.

HTTP_REFERER’a karşı test etme (URL yapıştırma, oturum vb.) bir isteğin meşru olup olmadığını söylemede yardımcı olabilir. ( Not: , bu yazarı dolaştırmanın /yorumlarda dolandırıcılığın bağlantısında da belirtildiği gibi bu yönlendiricileri dolandırmanın da yolları vardır)


Basit tarayıcılar arası test çözümü (Internet Explorer 9+ ve diğer tüm tarayıcılar için window.location.href'e dönüş)

Kullanım: redirect('anotherpage.aspx');

 
function redirect (url) {
    var ua        = navigator.userAgent.toLowerCase(),
        isIE      = ua.indexOf('msie') !== -1,
        version   = parseInt(ua.substr(4, 2), 10);

    // Internet Explorer 8 and lower
    if (isIE && version < 9) {
        var link = document.createElement('a');
        link.href = url;
        document.body.appendChild(link);
        link.click();
    }

    // All other browsers can use the standard window.location.href (they don't lose HTTP_REFERER like Internet Explorer 8 & lower does)
    else { 
        window.location.href = url; 
    }
}
    
588
2019-05-19 13: 36: 28Z
  1. Ayak notu: bir güvenlik önlemi olarak yönlendirmeyi kontrol etmek berbat bir çözümdür. duckduckgo.com/?q=referrer+spoofing
    2013-01-29 23: 41: 11Z
  2. Yönlendiren URL’de bir HTTP GET oturum kimliğiniz varsa, bunu geçerlilik oturumuna karşı kontrol etmek için kullanılabilir.
    2015-08-21 04: 31: 05Z
  3. @ mcpDESIGNS location.assign kullanmaya çalıştığınızdan emin misiniz? Uygulamamda IE8 kullanıyorum ve HTTP_REFERER başlığını kaybetmiyorum.
    2015-09-30 18: 35: 27Z
  4. En azından 2012'de işe yaramadı, belki daha sonra IE8'in yamaları düzeltildi - yine de duymak güzel!
    2018-02-26 00: 41: 47Z
  5. HTTP_REFERER'den bahsetmeniz, window.open ile yaşadığım sorunu anlamama yardımcı oldu ve burada bir çözüm buldum: stackoverflow.com/questions/7580613/… . Bu arada, IE11’de de sorun yaşıyorum!
    2019-01-09 10: 09: 54Z

Bunu yapmanın birçok yolu vardır.

 
// window.location
window.location.replace('http://www.example.com')
window.location.assign('http://www.example.com')
window.location.href = 'http://www.example.com'
document.location.href = '/path'

// window.history
window.history.back()
window.history.go(-1)

// window.navigate; ONLY for old versions of Internet Explorer
window.navigate('top.jsp')


// Probably no bueno
self.location = 'http://www.example.com';
top.location = 'http://www.example.com';

// jQuery
$(location).attr('href','http://www.example.com')
$(window).attr('location','http://www.example.com')
$(location).prop('href', 'http://www.example.com')
    
399
2019-01-16 10: 28: 35Z
  1. window.navigate sadece eski IE-IE'dir (Firefox /Chrome bunu desteklemez). Tüm seçenekleri sıralamak istiyorsanız, document.location'u unutmayın.
    2014-11-26 18: 19: 10Z
  2. Bu, herhangi bir şeyi açıklamıyor. Birisinin ne seçmesi gerekiyor? Listeden rastgele bir tane seçin? Ayrıca, bu mevcut cevaplara ne ekler?
    2015-07-17 07: 13: 15Z
  3. belge.location = document.referrer; Lütfen bunu da listeye ekleyin. Bu, History.back gibi çalışmaz, sayfayı tekrar Yenileme yapar.
    2015-07-30 20: 22: 46Z
  4. @ LéoLam Bu yüzden Google adında bir arama motoru var. :-) Google’da her birini arayabilir ve farkı bulabilirsiniz. Rastgele bir tane seçmek istemezsin.
    2017-09-18 10: 43: 02Z
  5. @ IamtheMostStupidPerson, tam olarak benim açımdan. Cevap işe yaramaz.
    2017-09-18 10: 44: 23Z

Bu her tarayıcı için işe yarar:

 
window.location.href = 'your_url';
    
308
2014-12-04 20: 30: 50Z
  1. İlk sayfanın tarayıcı geçmişinde olmasını istemiyorsanız document.location.replace(redirectURL) da yapabilirsiniz
    2018-06-12 14: 06: 41Z

Yapmaya çalıştığınız şey hakkında biraz daha açıklayıcı olmanız yardımcı olurdu. Disk belleği verileri oluşturmaya çalışıyorsanız, bunu nasıl yaptığınıza ilişkin bazı seçenekler var. Doğrudan ulaşmak istediğiniz her sayfa için ayrı bağlantılar oluşturabilirsiniz.

 
<a href='/path-to-page?page=1' class='pager-link'>1</a>
<a href='/path-to-page?page=2' class='pager-link'>2</a>
<span class='pager-link current-page'>3</a>
...

Örnekteki geçerli sayfanın kodda ve CSS'de farklı şekilde kullanıldığını unutmayın.

Sayfalanmış verilerin AJAX aracılığıyla değiştirilmesini istiyorsanız, jQuery'nin gireceği yer burasıdır. Yapacağınız şey, farklı bir sayfaya karşılık gelen bağlantı etiketlerinin her birine bir tıklama işleyicisi eklemektir. Bu tıklama işleyicisi, AJAX aracılığıyla bir sonraki sayfayı alan ve getiren ve yeni verilerle tabloyu güncelleyen bazı jQuery kodlarını çağırır. Aşağıdaki örnekte, yeni sayfa verilerini döndüren bir web servisiniz olduğu varsayılmaktadır.

 
$(document).ready( function() {
    $('a.pager-link').click( function() {
        var page = $(this).attr('href').split(/\?/)[1];
        $.ajax({
            type: 'POST',
            url: '/path-to-service',
            data: page,
            success: function(content) {
               $('#myTable').html(content);  // replace
            }
        });
        return false; // to stop link
    });
});
    
282
2009-02-02 13: 18: 06Z

Ayrıca location.replace(URL)’un en iyi yol olduğunu düşünüyorum.arama motorları için yönlendirme hakkında (yeniden yönlendirme görmek için JavaScript kodunu analiz etmiyorlar) web sitenize rel="canonical" meta etiketini eklemelisiniz.

İçinde HTML yenileme meta etiketi olan bir noscript bölümü eklemek de iyi bir çözümdür. Bu JavaScript'i kullanmanızı öneririm yönlendirmeleri oluşturmak için yeniden yönlendirme aracı . Ayrıca, HTTP yönlendiricisini geçmek için Internet Explorer desteği de vardır.

Gecikmeden örnek kod şöyle görünür:

 
<!-- Place this snippet right after opening the head tag to make it work properly -->

<!-- This code is licensed under GNU GPL v3 -->
<!-- You are allowed to freely copy, distribute and use this code, but removing author credit is strictly prohibited -->
<!-- Generated by http://insider.zone/tools/client-side-url-redirect-generator/ -->

<!-- REDIRECTING STARTS -->
<link rel="canonical" href="https://yourdomain.com/"/>
<noscript>
    <meta http-equiv="refresh" content="0;URL=https://yourdomain.com/">
</noscript>
<!--[if lt IE 9]><script type="text/javascript">var IE_fix=true;</script><![endif]-->
<script type="text/javascript">
    var url = "https://yourdomain.com/";
    if(typeof IE_fix != "undefined") // IE8 and lower fix to pass the http referer
    {
        document.write("redirecting..."); // Don't remove this line or appendChild() will fail because it is called before document.onload to make the redirect as fast as possible. Nobody will see this text, it is only a tech fix.
        var referLink = document.createElement("a");
        referLink.href = url;
        document.body.appendChild(referLink);
        referLink.click();
    }
    else { window.location.replace(url); } // All other browsers
</script>
<!-- Credit goes to http://insider.zone/ -->
<!-- REDIRECTING ENDS -->
    
241
2018-01-18 15: 42: 18Z

Ancak, biri ana sayfaya geri dönmek istiyorsa, aşağıdaki pasajı kullanabilir.

 
window.location = window.location.host

Geliştirme, evreleme ve üretim olarak üç farklı ortamınız varsa, yararlı olacaktır.

Bu pencereyi veya window.location nesnesini, yalnızca bu kelimeleri Chrome Konsolu’ya veya Firebug Konsolu.

    
216
2017-01-21 20: 07: 34Z
  1. window.location.replace (window.location.protocol + "//" + window.location.host)
    2014-01-17 00: 21: 28Z
  2. daha basit: window.location = '/'
    2014-06-21 23: 56: 02Z
  3. Iftah - "temel" meta etiketine bağlıdır.
    2016-01-26 13: 18: 59Z

JavaScript, tarayıcının adres çubuğunda görüntülenen geçerli URL’yi almak ve değiştirmek için birçok yöntem sunar. Tüm bu yöntemler, Window nesnesinin bir özelliği olan Location nesnesini kullanır. Geçerli URL’yi aşağıdaki gibi içeren yeni bir Konum nesnesi oluşturabilirsiniz.

 
var currentLocation = window.location;

Bir URL’nin Temel Yapısı

 
<protocol>//<hostname>:<port>/<pathname><search><hash>

resim tanımını buraya girin

  1. Protokol - İnternetteki kaynağa erişmek için kullanılacak protokol adını belirtir. (HTTP (SSL olmadan) veya HTTPS (SSL ile))

  2. ana bilgisayar adı - Ana bilgisayar adı, kaynağa sahip olan ana bilgisayarı belirtir. Örneğin, www.stackoverflow.com. Bir sunucu, ana bilgisayarın adını kullanarak hizmetler sağlar.

  3. bağlantı noktası - Bir İnternet'e veya başka bir ağ mesajının bir sunucuya ulaştığında iletileceği belirli bir işlemi tanımak için kullanılan bir bağlantı noktası numarası.

  4. yol adı - Yol, Web istemcisinin erişmek istediği ana bilgisayardaki belirli kaynak hakkında bilgi verir. Örneğin, stackoverflow.com/index.html.

  5. query - Bir sorgu dizesi path bileşenini izler ve kaynağın bir amaç için kullanabileceği bir bilgi dizisi sağlar (örneğin, bir arama için parametreler veya işlenecek veriler olarak).

  6. karma - Bir URL’nin çapa kısmı, karma işaretini (#) içerir.

Bu Konum nesnesi özellikleriyle, bu URL bileşenlerinin tümüne erişebilirsiniz

  1. karma - Bir URL’nin bağlantı bölümünü ayarlar veya döndürür.
  2. ev sahibi -Ayarlar veya bir URL'nin ana bilgisayar adını ve bağlantı noktasını döndürür.
  3. ana bilgisayar adı --Ayarlar veya URL'nin ana bilgisayar adını döndürür.
  4. href -Bütün tamamını ayarlar veya döndürür URL.
  5. yol adı - Bir URL'nin yol adını ayarlar veya döndürür.
  6. port - Sunucunun bir URL için kullandığı port numarasını ayarlar veya döndürür.
  7. protokol -Bir URL protokolünü ayarlar veya döndürür.
  8. arama -Ayarlar veya bir URL'nin sorgu bölümünü döndürür

Şimdi Bir sayfayı değiştirmek veya kullanıcıyı başka bir sayfaya yönlendirmek istiyorsanız, böyle bir Konum nesnesinin href özelliğini kullanabilirsiniz

Konum nesnesinin href özelliğini kullanabilirsiniz.

 
window.location.href = "http://www.stackoverflow.com";

Konum Nesnesi ayrıca şu üç yönteme sahiptir

  1. assign () - Yeni bir belge yükler.
  2. yeniden yükle () - Geçerli belgeyi yeniden yükler.
  3. replace () - Geçerli belgeyi yenisiyle değiştirir

Bunun gibi diğer sayfalara yönlendirmek için ayrıca metod () kullanabilir ve yöntemleri değiştirebilirsiniz

 
location.assign("http://www.stackoverflow.com");

location.replace("http://www.stackoverflow.com");

assign () ve replace () farklıdır - replace () yöntemi ile assign () yöntemi () arasındaki fark, yerine () öğesinin kaldırmasıdır. Belge geçmişinden geçerli belgenin URL'si, orijinal belgeye geri gitmek için "geri" düğmesini kullanmanın mümkün olmadığı anlamına gelir. Bu nedenle, yeni bir belge yüklemek istiyorsanız ve orijinal belgeye geri dönme seçeneğini vermek istiyorsanız,

Konum nesnesi href özelliğini, bunun gibi jQuery kullanarak da değiştirebilirsiniz

 
$(location).attr('href',url);

Böylece, kullanıcıyı başka bir URL'ye yönlendirebilirsiniz.

    
202
2017-10-24 09: 52: 54Z

Temelde jQuery yalnızca bir JavaScript çerçevesidir ve bu durumda yeniden yönlendirme gibi bazı işlemleri yapmak için yalnızca saf JavaScript kullanabilirsiniz , bu durumda vanilya JavaScript kullanarak 3 seçeneğiniz var:

1) değiştir konumunu kullanarak bu, sayfanın geçerli geçmişinin yerini alacak, orijinale geri dönmek için geri düğmesini kullanmanın mümkün olmadığı anlamına gelir sayfa.

 
window.location.replace("http://stackoverflow.com");

2) Atama konumunu kullanarak, bu sizin için geçmişi korur ve geri düğmesini kullanarak orijinal sayfaya geri dönebilirsiniz:

 
window.location.assign("http://stackoverflow.com");

3) Bu önceki yöntemlerden birini kullanmanızı öneririm, ancak bu saf JavaScript kullanarak üçüncü seçenek olabilir:

 
window.location.href="http://stackoverflow.com";

Ayrıca jQuery'de bir işlevi yazabilir, ancak yalnızca bir satırlık saf JavaScript işlevi olduğu için önerilmez, ayrıca pencere kapsamı içindeyseniz yukarıdaki işlevlerin tümünü penceresiz kullanabilirsiniz, örneğin window.location.replace("http://stackoverflow.com"); location.replace("http://stackoverflow.com"); olun

Ayrıca bunların hepsini aşağıdaki resimde gösteriyorum:

 location.replace location.assign

    
191
2019-01-18 23: 52: 41Z
  1. Bazı durumlarda sonuncusu benim için düzgün çalışmadığından assign()'dan href='u kullanmanızı öneririm.
    2018-08-23 07: 57: 15Z

Yalnızca window.location'u kullanarak ayarlayabilmelisiniz.

Örnek:

 
window.location = "https://stackoverflow.com/";

İşte konuyla ilgili geçmiş bir yazı: Başka bir web sayfasına nasıl yönlendiririm?

    
190
2019-05-19 13: 36: 47Z
  1. İşe yarayabilir, ama bunu yapmanın doğru yolundan emin değilim. Bunu destekleyen belgeleri göremiyorum. Programcıları kötü bir programlama uygulamalarına yönlendirebilir.
    2016-11-11 20: 25: 22Z

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 büyük sorunlar olmadan çalışabilirken,   jQuery'yi aktif olarak test etmiyoruz ve genellikle hataları düzeltmiyoruz   bu onların içinde görünebilir.

Burada bulundu: https://jquery.com/browser-support/

Dolayısıyla, jQuery geriye dönük uyumluluk için hepsi bir sonuç ve hepsi bir çözüm değildir.

Aşağıdaki çözümHam JavaScript, tüm tarayıcılarda çalışır ve uzun süredir standart olduğundan, tarayıcılar arası destek için hiçbir kütüphaneye ihtiyacınız yoktur.

Bu sayfa, 3000 milisaniyeden sonra Google adresine yönlendirilecektir

 
<!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 şunlardır:

 
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 kullanılırken geri düğmesi, hiçbir zaman tarihteki gibi yeniden yönlendirme sayfasına geri dönmez. Kullanıcının yönlendirme sayfasına geri dönmesini istiyorsanız, window.location.href veya window.location.assign'u kullanın. 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 sizi geri yönlendireceğini unutmayın. Yönlendirmeniz için bir seçenek seçerken bunu göz önünde bulundurun. Sayfanın yalnızca kullanıcı tarafından bir işlem yapıldığında yönlendirildiği koşullar altında, sayfanın geri düğmesi geçmişinde olması doğru olacaktır. Ancak, sayfa otomatik yönlendirmeleri yapıyorsa, yerine kullanmanız gerekir, böylece kullanıcı yönlendirmeyi gönderdiği sayfaya geri dönmek zorunda kalmadan geri düğmesini kullanabilir.

Bir sayfa yönlendirmesini aşağıdaki gibi çalıştırmak için meta verilerini de kullanabilirsiniz.

META Yenile

 
<meta http-equiv="refresh" content="0;url=http://evil.com/" />

META Konumu

 
<meta http-equiv="location" content="URL=http://evil.com" />

BASE Korsanlığı

 
<base href="http://evil.com/" />

Şüphesiz müşterinizi gitmek istemedikleri bir sayfaya yönlendirmek için daha birçok yöntem bu sayfada bulunabilir (bunlardan biri jQuery'ye bağımlı değildir):

  

https://code.google.com/p/html5security/wiki/RedirectionMethods

Ayrıca şunu da belirtmek isterim ki, insanlar rastgele yönlendirilmekten hoşlanmazlar. Sadece ihtiyaç duyulduğunda insanları yönlendir. İnsanları rastgele yönlendirmeye başlarsanız, bir daha asla sitenize gitmezler.

Bir sonraki paragraf varsayımsaldır:

Ayrıca kötü amaçlı bir site olarak da haberdar olabilirsiniz. Bu durumda, insanlar sitenize bir bağlantıyı tıkladığında, kullanıcılar tarayıcısı onları sitenizin kötü niyetli olduğu konusunda uyarabilir. Aynı zamanda, insanların sitenizde kötü bir deneyim yaşadığını bildirmesi durumunda, arama motorlarının puanınızı düşürmeye başlayabileceği de olabilir.

Lütfen yönlendirmelere ilişkin Google Web Yöneticisi Yönergelerini inceleyin: https://support.google.com/webmasters/answer/2721217 hl = tr &? ref_topic = 6001971

İşte sizi sayfadan ayıran 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 birlikte birleştirirseniz, kullanıcılarınızın sitenizi bir daha asla kullanmak istemeyeceğine dair bir yeniden yönlendirmeye sahip olacaksınız.

    
162
2019-05-19 13: 38: 37Z
  1. Gerekmediğini söyleyerek jQuery için isteğini ele alıyorum. JQuery, JavaScript için birçok harika kısayol sunar, ancak yönlendirmeler için kısayollara gerek yoktur. JQuery sadece JavaScript'tir. Daha fazlası değil. Yönlendirme çağırmanın normal yolu, jQuery işlevini kullanarak işlevleriyle çalışır.
    2015-06-27 12: 16: 27Z
  2. Patrick, kendi mantığınızla her durumda JQuery'ye gerek yoktur. Bütün mesele kolaylık ve soru bunun için istedi. Söyleyeceğim en iyi araç JQuery sürümüdür çünkü muhtemelen gelecek için tarayıcı özelliklerini uzaklaştıracaktır. Yani argüman hala boş ve geçersiz. Soru JQuery için istedi.
    2015-06-30 22: 17: 17Z
  3. Şu anda bu konuda haklı olabilirsin, ancak geleceği göremezsiniz ve şu anda geleceğin kanıtının ne olduğunu tahmin edemezsiniz. Ve gerçek şu ki, JQuery için sorulan soru olmaya devam ediyor!
    2015-07-02 22: 19: 42Z
  4. "Evet JavaScript değişebilir ve sonra değişirse jQuery'nin jQuery'nin JavaScript olduğu gibi değişmesi gerekir. - Patrick W. McMahon dün" Teşekkür ederim, davamı dinliyorum.
    2015-07-05 18: 45: 26Z
  5. Vakanız yok. JQuery'nin JavaScript'ten daha yüksek bir değişim şansı var. JQuery'nin yeni sürümü her zaman gerçeğe dönüşür ve eski jQuery modası geçmiş hale gelir ve sorunların bir dizi v'e bağlı olduğunu kodlarJQuery'nin kaldırılması.
    2015-07-05 18: 50: 59Z
 
var url = 'asdf.html';
window.location.href = url;
    
157
2012-05-01 20: 35: 48Z

Bunu, jQuery olmadan aşağıdaki gibi yapabilirsiniz:

 
window.location = "http://yourdomain.com";

Yalnızca jQuery istiyorsanız, aşağıdakileri yapabilirsiniz:

 
$jq(window).attr("location","http://yourdomain.com");
    
138
2014-11-29 06: 13: 56Z
  1. JQuery, gelecekteki tarayıcı değişikliklerini /onaylarını ortadan kaldırabileceği için tartışmasız daha iyi bir fikir olabilir
    2015-06-24 23: 14: 27Z

Bu, jQuery ile çalışır:

 
$(window).attr("location", "http://google.fr");
    
137
2016-10-30 16: 11: 26Z

# jQuery /JavaScript Kullanarak HTML Sayfası Yeniden Yönlendirme

Bu örnek kodu deneyin:

 
function YourJavaScriptFunction()
{
    var i = $('#login').val();
    if (i == 'login')
        window.location = "login.php";
    else
        window.location = "Logout.php";
}

Tam bir URL’yi window.location = "www.google.co.in"; olarak vermek istiyorsanız.

    
84
2016-08-31 12: 08: 08Z
  1. "jQuery kullanmak" doğru değil. Tam bir URL kullanma örneği çalışmaz, çünkü bu tam bir URL değildir. Protokol yok, bu yüzden göreceli bir URL olarak yorumlanacak.
    2017-10-31 21: 18: 27Z

Bu satırı kodunuza koymanız gerekir:

 
$(location).attr("href","http://stackoverflow.com");

Eğer jQuery'niz yoksa, JavaScript ile gidin:

 
window.location.replace("http://stackoverflow.com");
window.location.href("http://stackoverflow.com");
    
77
2019-03-28 05: 20: 33Z
  1. jquery'deki her şeyi sarmalamanın anlamı nedir?
    2016-09-22 18: 12: 41Z

Öyleyse, soru, bir yönlendirme sayfasının nasıl oluşturulacağı ve bir web sitesine nasıl yönlendirileceği değil mi?

Bunun için sadece JavaScript kullanmanız gerekir. İşte dinamik bir yönlendirme sayfası oluşturacak küçük bir kod.

 
<script>
    var url = window.location.search.split('url=')[1]; // Get the URL after ?url=
    if( url ) window.location.replace(url);
</script>

Öyleyse, bu pasajı web sitenizdeki redirect/index.html dosyaya koyduğunuzu ve bu şekilde kullanabilirsiniz.

  

http://www.mywebsite.com/redirect?url=http://stackoverflow.com

Ve bu bağlantıya giderseniz, sizi otomatik olarak stackoverflow.com adresine yönlendirir.

  

Dokümanlara Bağlantı üçlü>

Ve bu şekilde Basit sayfayı JavaScript’le yönlendirirsiniz

Düzenleme:

Dikkat edilmesi gereken bir şey var. Koduma window.location.replace ekledim, çünkü bir yönlendirme sayfasına uygun olduğunu düşünüyorum, ancak window.location.replace kullanırken ve yönlendirildiğinizi, tarayıcınızdaki geri düğmesine bastığınızda gelmeyeceğini yönlendirme sayfasına geri döndüğünüzde, bu küçük demo şemasına bir göz atın, önceki sayfaya geri dönecektir.

Örnek:

  

İşlem: eve kaydetme = > sayfayı google’a yönlendirin = > hakkında

     

Google’dayken: google = > tarayıcıda geri düğmesi = > eve sakla

Yani, bu sizin ihtiyaçlarınıza uygunsa, her şey yolunda olmalı. Yönlendirme sayfasını tarayıcı geçmişine eklemek istiyorsanız, bunu değiştirin

 
if( url ) window.location.replace(url);

ile

 
if( url ) window.location.href = url;
    
75
2014-10-26 10: 55: 01Z

Tıklama işlevinizde, sadece ekleyin:

 
window.location.href = "The URL where you want to redirect";
$('#id').click(function(){
    window.location.href = "http://www.google.com";
});
    
70
2014-10-26 10: 44: 31Z

***** ORİJİNAL SORU - "JQUERY KULLANIMI NASIL KAZANABİLİRSİNİZ", BABA CEVAP UYGULAMALARI JQUERY > TAMAMLAYICI KULLANIM KILIFI *****

Sadece JavaScript içeren bir sayfaya yönlendirmek için:

 
  window.location.href = "/contact/";

Veya gecikmeye ihtiyacınız varsa:

 
setTimeout(function () {
  window.location.href = "/contact/";
}, 2000);   // Time in milliseconds

jQuery, bir web sayfasından öğeleri kolayca seçmenize olanak sağlar. Bir sayfada istediğiniz herhangi bir şeyi bulabilir ve daha sonra özel efektler eklemek, kullanıcı işlemlerine tepki vermek veya seçtiğiniz öğenin içinde veya dışında içerik göstermek ve gizlemek için jQuery öğesini kullanabilirsiniz. Tüm bu görevler bir öğe veya etkinliğin nasıl seçileceğini bilmekle başlar .

 
     $('a,img').on('click',function(e){
         e.preventDefault();
         $(this).animate({
             opacity: 0 //Put some CSS animation here
         }, 500);
         setTimeout(function(){
           // OK, finished jQuery staff, let's go redirect
           window.location.href = "/contact/";
         },500);
     });

Birinin 10000 satır kod içeren bir komut dosyası /eklenti yazdığını hayal edin ?! Eh, jQuery ile bu koda sadece bir ya da iki satırla bağlanabilirsiniz.

    
70
2018-04-18 09: 11: 03Z
  1. İyi cevap yazsa da büyük harflerle yazmamanız tercih edilir
    2018-10-12 19: 55: 31Z

Bunu dene:

 
location.assign("http://www.google.com");

Örnek kod parçası .

    
58
2016-01-02 04: 29: 32Z

jQuery gerekli değildir. Bunu yapabilirsiniz:

 
window.open("URL","_self","","")

Bu kadar kolay!

Bir HTTP isteği başlatmanın en iyi yolu document.loacation.href.replace('URL')’dur.

    
54
2014-04-03 21: 23: 23Z

Önce doğru şekilde yazın. Bir uygulama içinde başka bir bağlantı için uygulamanızdan başka bir bağlantı için gezinmek istiyorsunuz. İşte kod:

 
window.location.href = "http://www.google.com";

Uygulamanızın içindeki sayfalarda gezinmek istiyorsanız, isterseniz kodum da var.

    
51
2014-04-03 21: 20: 11Z

Bu şekilde jQuery'de yönlendirme yapabilirsiniz:

 
$(location).attr('href', 'http://yourPage.com/');
    
51
2016-07-03 05: 01: 56Z

JavaScript ve jQuery'de, bir sayfayı başka bir sayfaya yönlendirmek için aşağıdaki kodu kullanabiliriz:

 
window.location.href="http://google.com";
window.location.replace("page1.html");
    
43
2014-04-03 21: 22: 34Z

JavaScript:

 
window.location.href='www.your_url.com';
window.top.location.href='www.your_url.com';
window.location.replace('www.your_url.com');

jQuery:

 
var url='www.your_url.com';
$(location).attr('href',url);
$(location).prop('href',url);//instead of location you can use window
    
43
2017-05-04 12: 12: 47Z
  1. URL'yi jQuery'de değişken olarak saklamak için bir neden var mı, ancak Vanilya'da değil mi?
    2017-08-10 05: 00: 02Z

ECMAScript 6 + jQuery, 85 bayt

 
$({jQueryCode:(url)=>location.replace(url)}).attr("jQueryCode")("http://example.com")

Lütfen beni öldürme, bu bir şaka. Bu bir şaka. Bu bir şaka.

Bu, "jQuery kullanarak" bir çözüm istediği anlamında "bu soruyu bir şekilde cevapladı" anlamına geliyordu.

Ferrybig’in görünüşte açıklanacak şakaya ihtiyacı var (hala şaka yapıyorum, inceleme formunda sınırlı seçenek olduğundan eminim), bu yüzden daha fazla uzatmadan:

Diğer yanıtlar, gereksiz yere attr() veya location nesnelerinde jQuery'nin window'unu kullanıyor.

Bu cevap da kötüye, fakat daha saçma bir şekilde. Konumu ayarlamak için kullanmak yerine, konumu ayarlayan bir işlevi almak için attr() kullanır.

JQuery'de bir şey olmasa da, işlev jQueryCode olarak adlandırılır ve bir işlevi somethingCode olarak adlandırmak, özellikle de bir dil bile olmadığı zaman korkunçtur.

"85 bayt", Code Golf'a bir referanstır. Golf açık bir şekilde kod golf dışında yapmanız gereken bir şey değildir ve ayrıca bu cevap aslında golf değildir.

Temel olarak, cringe.

    
42
2016-10-30 16: 27: 41Z

İşte zaman gecikmeli bir yönlendirme. Gecikme süresini istediğiniz seviyeye ayarlayabilirsiniz:

 
<!doctype html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <title>Your Document Title</title>
    <script type="text/javascript">
        function delayer(delay) {
            onLoad = setTimeout('window.location.href = "http://www.google.com/"', delay);
        }
    </script>
</head>

<body>
    <script>
        delayer(8000)
    </script>
    <div>You will be redirected in 8 seconds!</div>
</body>

</html>
    
39
2016-02-23 06: 26: 07Z
  1. bunu daha iyi yapın: setTimeout (function () {window.location.href = " google.com "}, gecikme);
    2014-04-04 21: 33: 51Z

Bunu yapmanın üç ana yolu vardır,

 
window.location.href='blaah.com';
window.location.assign('blaah.com');

ve ...

 
window.location.replace('blaah.com');

Geleneksel yönlendirme için sonuncusu en iyisidir, çünkü arama geçmişinize yönlendirilmeden önce gittiğiniz sayfayı kaydetmez. Bununla birlikte, sadece JavaScript içeren bir sekme açmak istiyorsanız, yukarıdakilerden herhangi birini kullanabilirsiniz. 1

EDIT: window öneki isteğe bağlıdır.

    
36
2015-01-19 00: 58: 45Z

Bu saçmalığı başka bir daha yeni jQuery yöntemiyle güncellemem gerekiyordu:

 
var url = 'http://www.fiftywaystoleaveyourlocation.com';
$(location).prop('href', url);
    
36
2016-07-03 04: 58: 33Z
kaynak yerleştirildi İşte