Alihkan situs web setelah jangka waktu tertentu

137

Apa yang harus saya lakukan agar fungsi di situs web dikatakan akan mengarahkan Anda ke situs dalam 3 detik atau lebih?

kode
sumber
Saya hanya ingin tahu, mengapa Anda ingin melakukan itu? Setiap kali saya mengunjungi halaman seperti itu, saya lebih suka diarahkan dalam 0 detik.
allesklar
@allesklar maaf atas balasannya yang terlambat. Saya sedang mengembangkan situs, dan saya ingin melihat apakah ada cara yang lebih mudah untuk beralih dari editor kode ke browser web tanpa harus selalu menyegarkan.
codedude
Generator pengalihan JS ini akan membantu Anda membuat cuplikan pengalihan tertunda dengan mudah. Ini memiliki dukungan noscript dan seo, ditambah memiliki IE 8 - dan lebih rendah - perbaikan untuk melewati pengarah http!
Patartics Milán
1
@allesklar salah satu contoh untuk menggunakan ini. Jika Anda mengubah domain dan ingin semua orang dialihkan ke domain baru pada bulan pertama (tetapi memberi tahu mereka bahwa domain lama akan dihapus setelah sekitar satu bulan). Karena walaupun mengirim dan mengirim email selalu ada orang yang lupa dan masuk ke domain lama.
patricia

Jawaban:

214
<meta http-equiv="refresh" content="3;url=http://www.google.com/" />
Darin Dimitrov
sumber
Atau cukup alihkan ke root jika Anda memiliki beberapa situs menggunakan <meta http-equiv = "refresh" content = "3; url = /" />
DJSampat
1
W3C menganjurkan tag ini tidak digunakan: w3.org/TR/WCAG10-HTML-TECHS/#meta-element
huseyin39
69

Anda mungkin mencari meta refreshtag :

<html>
    <head>
        <meta http-equiv="refresh" content="3;url=http://www.somewhere.com/" />
    </head>
    <body>
        <h1>Redirecting in 3 seconds...</h1>
    </body>
</html>

Perhatikan bahwa penggunaan dari meta refreshsudah tidak digunakan lagi dan tidak disukai saat ini, tetapi terkadang itu satu-satunya opsi yang layak (misalnya, jika Anda tidak dapat membuat header pengalihan HTTP sisi server dan / atau Anda perlu mendukung klien non-JavaScript, dll. ).

LukeH
sumber
54

Jika Anda ingin kontrol yang lebih besar, Anda dapat menggunakan javascript daripada menggunakan tag meta. Ini akan memungkinkan Anda untuk memiliki visual tertentu, misalnya hitungan mundur.

Berikut adalah pendekatan yang sangat dasar yang digunakan setTimeout()

<html>
    <body>
    <p>You will be redirected in 3 seconds</p>
    <script>
        var timer = setTimeout(function() {
            window.location='http://example.com'
        }, 3000);
    </script>
</body>
</html>

mbrevoort.dll
sumber
Ini adalah cara yang harus dilakukan jika Anda ingin teks menghitung mundur secara dinamis ke 0 sebelum pengalihan. Gunakan timer 1 detik, di mana fungsi timer mengupdate teks HTML lalu mulai timer 1 detik baru, hingga 3 detik berlalu, lalu lakukan pengalihan.
Remy Lebeau
19

Berikut adalah contoh lengkap (namun sederhana) pengalihan setelah X detik, saat memperbarui div penghitung:

<html>
<body>
    <div id="counter">5</div>
    <script>
        setInterval(function() {
            var div = document.querySelector("#counter");
            var count = div.textContent * 1 - 1;
            div.textContent = count;
            if (count <= 0) {
                window.location.replace("https://example.com");
            }
        }, 1000);
    </script>
</body>
</html>

Isi awal counterdiv adalah jumlah detik untuk menunggu.

noamtm
sumber
Ini tidak berhasil sampai saya menggantinya location.href="https://example.com";denganwindow.location='https://example.com'
NateH06
1
Mungkin lebih baik digunakan window.location.replace("http://example.com");untuk alasan yang dibahas di sini: stackoverflow.com/a/506004 Perubahan ini akan memberikan jawaban ini lebih umum.
Psyche
10

Cara termudah adalah menggunakan tag META HTML seperti ini:

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

Wikipedia

Ehsan
sumber
4

Tempatkan kode pengalihan HTML berikut di antara tag dan pada kode HTML Anda.

<meta HTTP-EQUIV="REFRESH" content="3; url=http://www.yourdomain.com/index.html">

Kode redirect HTML di atas akan mengarahkan pengunjung Anda ke halaman web lain secara instan. Content = "3; dapat diubah menjadi jumlah detik yang Anda inginkan browser menunggu sebelum mengarahkan. 4, 5, 8, 10 atau 15 detik, dll.

Muhammad Saqib
sumber
1

Gunakan kode javascript sederhana ini untuk mengarahkan halaman ke halaman lain menggunakan interval waktu tertentu ...

Harap tambahkan kode ini ke halaman situs web Anda, yang ingin Anda alihkan:

<script type="text/javascript">
(function(){
   setTimeout(function(){
     window.location="http://brightwaay.com/";
   },3000); /* 1000 = 1 second*/
})();
</script>
SM cerah
sumber
<meta http-equiv="refresh" content="3;url=http://example.com/" />adalah pilihan yang lebih baik karena lebih sederhana dan bekerja tanpa dukungan JavaScript.
Edward
Anda benar bro ... tapi tergantung situasinya .. kadang kita perlu mengarahkan pada event tertentu karena JS itu adalah pilihan terbaik.
Cerah SM
Aku mengerti maksudmu, "SM cerah". Meskipun tag meta harus digunakan hampir selalu, mungkin ada skenario khusus seperti Anda di mana JavaScript akan menjadi satu-satunya pilihan.
Edward