it-swarm-id.com

Bagaimana cara mengarahkan ke halaman web lain?

Bagaimana cara mengarahkan pengguna dari satu halaman ke halaman lain menggunakan jQuery atau JavaScript murni?

7729
venkatachalam

Seseorang tidak hanya mengarahkan ulang menggunakan jQuery

jQuery tidak diperlukan, dan window.location.replace(...) akan lebih baik mensimulasikan pengalihan HTTP.

window.location.replace(...) lebih baik daripada menggunakan window.location.href, karena replace() tidak menyimpan halaman asal dalam riwayat sesi, artinya pengguna tidak akan terjebak dalam kegagalan tombol kembali yang tidak pernah berakhir.

Jika Anda ingin mensimulasikan seseorang yang mengklik tautan, gunakanlocation.href

Jika Anda ingin mensimulasikan pengalihan HTTP, gunakanlocation.replace

Misalnya:

// 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";
13935
Ryan McGeary

PERINGATAN: Jawaban ini hanya diberikan sebagai solusi yang memungkinkan; itu jelas bukan solusi terbaik, karena membutuhkan jQuery. Sebaliknya, lebih suka solusi JavaScript murni.

$(location).attr('href', 'http://stackoverflow.com')
1570
Boris Guéry

Standar JavaScript "Vanilla" untuk mengarahkan ulang halaman:

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


Jika Anda di sini karena Anda kehilangan HTTP_REFERER saat mengarahkan, terus membaca:


Bagian berikut adalah untuk mereka yang menggunakan HTTP_REFERER sebagai salah satu dari banyak langkah-langkah aman (meskipun itu bukan tindakan perlindungan yang bagus). Jika Anda menggunakan Internet Explorer 8 atau lebih rendah, variabel-variabel ini hilang ketika menggunakan segala bentuk pengalihan halaman JavaScript (location.href, dll.).

Di bawah ini kita akan menerapkan alternatif untuk IE8 & lebih rendah sehingga kita tidak kehilangan HTTP_REFERER. Kalau tidak, Anda hampir selalu cukup menggunakan window.location.href.

Pengujian terhadap HTTP_REFERER (menempelkan URL, sesi, dll.) Bisa akan membantu dalam memberi tahu apakah suatu permintaan sah atau tidak. ( Catatan: ada juga cara untuk mengatasi/memalsukan referer ini, sebagaimana dicatat oleh tautan droop di komentar)


Solusi pengujian lintas-browser sederhana (mundur ke window.location.href untuk Internet Explorer 9+ dan semua browser lainnya)

Penggunaan: 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; 
    }
}
579

Ada banyak cara untuk melakukan ini.

// 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')
392
Govind Singh

Ini berfungsi untuk setiap browser:

window.location.href = 'your_url';
302
Fred

Akan membantu jika Anda sedikit lebih deskriptif dalam apa yang Anda coba lakukan. Jika Anda mencoba untuk menghasilkan data halaman, ada beberapa opsi dalam cara Anda melakukan ini. Anda dapat membuat tautan terpisah untuk setiap halaman yang ingin Anda dapatkan secara langsung.

<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>
...

Perhatikan bahwa halaman saat ini dalam contoh ditangani secara berbeda dalam kode dan dengan CSS.

Jika Anda ingin data halaman diubah melalui AJAX, ini adalah tempat jQuery akan masuk. Yang akan Anda lakukan adalah menambahkan handler klik ke masing-masing tag jangkar yang sesuai dengan halaman yang berbeda. Handler klik ini akan memanggil beberapa kode jQuery yang masuk dan mengambil halaman berikutnya melalui AJAX dan memperbarui tabel dengan data baru. Contoh di bawah ini mengasumsikan bahwa Anda memiliki layanan web yang mengembalikan data halaman baru.

$(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
    });
});
280
tvanfosson

Saya juga berpikir bahwa location.replace(URL) adalah cara terbaik, tetapi jika Anda ingin memberi tahu mesin pencari tentang pengalihan Anda (mereka tidak menganalisis kode JavaScript untuk melihat pengalihan tersebut) Anda harus menambahkan tag meta rel="canonical" ke situs web Anda.

Menambahkan bagian noscript dengan tag meta penyegaran HTML di dalamnya, juga merupakan solusi yang baik. Saya menyarankan Anda untuk menggunakan alat ini JavaScript redirection untuk membuat arahan ulang. Ini juga memiliki dukungan Internet Explorer untuk melewati pengarah HTTP.

Kode contoh tanpa penundaan terlihat seperti ini:

<!-- 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 -->
237
Patartics Milán

Tetapi jika seseorang ingin mengarahkan kembali ke beranda maka ia dapat menggunakan cuplikan berikut.

window.location = window.location.Host

Akan sangat membantu jika Anda memiliki tiga lingkungan berbeda seperti pengembangan, pementasan, dan produksi.

Anda dapat menjelajahi objek window atau window.location ini dengan hanya meletakkan kata-kata ini di Chrome Console atau Firebug 's Console.

212
Nadeem Yasin

JavaScript memberi Anda banyak metode untuk mengambil dan mengubah URL saat ini yang ditampilkan di bilah alamat peramban. Semua metode ini menggunakan objek Lokasi, yang merupakan properti dari objek Window. Anda dapat membuat objek Lokasi baru yang memiliki URL saat ini sebagai berikut ..

var currentLocation = window.location;

Struktur Dasar URL

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

enter image description here

  1. Protokol - Menentukan nama protokol yang digunakan untuk mengakses sumber daya di Internet. (HTTP (tanpa SSL) atau HTTPS (dengan SSL))

  2. hostname - Nama host menentukan Host yang memiliki sumber daya. Misalnya, www.stackoverflow.com. Server menyediakan layanan menggunakan nama Host.

  3. port - Nomor port yang digunakan untuk mengenali proses tertentu yang akan diteruskan Internet atau pesan jaringan lainnya ketika tiba di server.

  4. pathname - Path memberikan info tentang sumber daya spesifik dalam Host yang ingin diakses oleh klien Web. Misalnya, stackoverflow.com/index.html.

  5. kueri - String kueri mengikuti komponen jalur, dan memberikan serangkaian informasi yang dapat digunakan sumber daya untuk beberapa tujuan (misalnya, sebagai parameter untuk pencarian atau sebagai data yang akan diproses).

  6. hash - Bagian anchor dari URL, termasuk tanda hash (#).

Dengan properti objek Lokasi ini, Anda dapat mengakses semua komponen URL ini

  1. hash -Mengatur atau mengembalikan bagian jangkar URL.
  2. Host -Mengatur atau mengembalikan nama host dan port URL.
  3. hostname -Mengatur atau mengembalikan nama host dari URL.
  4. href -Mengatur atau mengembalikan seluruh URL.
  5. pathname -Mengatur atau mengembalikan nama jalur URL.
  6. port -Mengatur atau mengembalikan nomor port yang digunakan server untuk URL.
  7. protokol -Mengatur atau mengembalikan protokol URL.
  8. search -Mengatur atau mengembalikan bagian kueri dari URL

Sekarang Jika Anda ingin mengubah halaman atau mengalihkan pengguna ke halaman lain, Anda dapat menggunakan properti href dari objek Location seperti ini

Anda dapat menggunakan properti href dari objek Location.

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

Lokasi Obyek juga memiliki tiga metode ini

  1. assign () - Memuat dokumen baru.
  2. reload () - Reload dokumen saat ini.
  3. replace () - Mengganti dokumen saat ini dengan yang baru

Anda dapat menggunakan assign () dan mengganti metode juga untuk mengarahkan ulang ke halaman lain seperti ini

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

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

Bagaimana menetapkan () dan mengganti () berbeda - Perbedaan antara metode replace () dan metode assign () (), adalah replace () menghapus URL saat ini dokumen dari riwayat dokumen, berarti tidak mungkin menggunakan tombol "kembali" untuk menavigasi kembali ke dokumen asli. Jadi, gunakan metode assign () jika Anda ingin memuat dokumen baru, dan ingin memberikan opsi untuk menavigasi kembali ke dokumen asli.

Anda dapat mengubah properti objek href properti menggunakan jQuery juga seperti ini

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

Dan karenanya Anda dapat mengarahkan pengguna ke beberapa url lainnya.

199
Nikhil Agrawal

Pada dasarnya jQuery hanya sebuah JavaScript framework dan untuk melakukan beberapa hal seperti redirection dalam hal ini, Anda bisa menggunakan JavaScript murni, jadi dalam hal ini Anda memiliki 3 opsi menggunakan Vanilla JavaScript:

1) Menggunakan lokasi ganti , ini akan menggantikan riwayat halaman saat ini, berarti bahwa tidak mungkin menggunakan tombol kembali untuk kembali ke halaman asli.

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

2) Menggunakan lokasi assign , ini akan menyimpan sejarah untuk Anda dan dengan menggunakan tombol kembali, Anda dapat kembali ke halaman asli:

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

3) Saya sarankan menggunakan salah satu cara sebelumnya, tetapi ini bisa menjadi pilihan ketiga menggunakan JavaScript murni:

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

Anda juga dapat menulis fungsi di jQuery untuk menanganinya, tetapi tidak disarankan karena ini hanya satu fungsi JavaScript murni, juga Anda dapat menggunakan semua fungsi di atas tanpa jendela jika Anda sudah berada dalam cakupan jendela, misalnya window.location.replace("http://stackoverflow.com"); bisa location.replace("http://stackoverflow.com");

Saya juga menunjukkan semuanya pada gambar di bawah ini:

 location.replace location.assign

188
Alireza

Seharusnya bisa diatur menggunakan window.location.

Contoh:

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

Berikut adalah posting terakhir tentang subjek:

Bagaimana cara mengarahkan ke halaman web lain?

188
Newse

Sebelum saya mulai, jQuery adalah pustaka JavaScript yang digunakan untuk manipulasi DOM. Jadi Anda tidak boleh menggunakan jQuery untuk pengalihan halaman.

Kutipan dari Jquery.com:

Sementara jQuery mungkin berjalan tanpa masalah besar di versi browser yang lebih lama, kami tidak secara aktif menguji jQuery di dalamnya dan umumnya tidak memperbaiki bug yang mungkin muncul di dalamnya.

Itu ditemukan di sini: https://jquery.com/browser-support/

Jadi jQuery bukan solusi akhir-semua dan semua-semua untuk kompatibilitas mundur.

Solusi berikut ini menggunakan JavaScript mentah berfungsi di semua browser dan telah standar untuk waktu yang lama sehingga Anda tidak memerlukan pustaka untuk dukungan lintas browser.

Halaman ini akan dialihkan keGooglesetelah 3000 milidetik

<!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>

Pilihan yang berbeda adalah sebagai berikut:

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"

Saat menggunakan ganti, tombol kembali tidak akan kembali ke halaman pengalihan, seolah-olah itu tidak pernah ada dalam sejarah. Jika Anda ingin pengguna dapat kembali ke halaman pengalihan kemudian gunakan window.location.href atau window.location.assign. Jika Anda menggunakan opsi yang memungkinkan pengguna kembali ke halaman pengalihan, ingatlah bahwa ketika Anda memasuki halaman pengalihan, itu akan mengarahkan Anda kembali. Jadi, pertimbangkan hal itu saat memilih opsi untuk pengalihan Anda. Dalam kondisi di mana halaman hanya diarahkan ketika tindakan dilakukan oleh pengguna maka memiliki halaman dalam sejarah tombol kembali akan baik-baik saja. Tetapi jika halaman auto redirect maka Anda harus menggunakan ganti sehingga pengguna dapat menggunakan tombol kembali tanpa dipaksa kembali ke halaman yang dikirimkan redirect.

Anda juga dapat menggunakan meta data untuk menjalankan redirect halaman seperti yang diikuti.

META Refresh

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

Lokasi META

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

BASE Hijacking

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

Banyak metode lain untuk mengarahkan klien Anda yang tidak menaruh curiga ke halaman yang mungkin tidak mereka inginkan dapat ditemukan di halaman ini (tidak satu pun dari mereka yang bergantung pada jQuery):

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

Saya juga ingin menunjukkan, orang tidak suka diarahkan secara acak. Hanya mengarahkan orang ketika benar-benar dibutuhkan. Jika Anda mulai mengarahkan ulang orang secara acak, mereka tidak akan pernah mengunjungi situs Anda lagi.

Bagian selanjutnya adalah hipotetis:

Anda juga dapat dilaporkan sebagai situs jahat. Jika itu terjadi maka ketika orang mengklik tautan ke situs Anda, browser pengguna dapat memperingatkan mereka bahwa situs Anda berbahaya. Apa yang mungkin juga terjadi adalah mesin pencari dapat mulai menurunkan peringkat Anda jika orang melaporkan pengalaman buruk di situs Anda.

Harap tinjau Pedoman Webmaster Google tentang arahan ulang: https://support.google.com/webmasters/answer/2721217?hl=id&ref_topic=6001971

Ini adalah halaman kecil yang menyenangkan yang menendang Anda keluar dari halaman.

<!DOCTYPE html>
<html>
    <head>
        <title>Go Away</title>
    </head>
    <body>
        <h1>Go Away</h1>
        <script>
            setTimeout(function(){
                window.history.back();
            }, 3000);
        </script>
    </body>
</html>

Jika Anda menggabungkan dua contoh halaman bersama-sama, Anda akan memiliki lingkaran pengalihan rute yang akan menjamin bahwa pengguna Anda tidak akan pernah ingin menggunakan situs Anda lagi.

158
var url = 'asdf.html';
window.location.href = url;
157
user188973

Anda dapat melakukannya tanpa jQuery sebagai:

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

Dan jika Anda hanya menginginkan jQuery maka Anda dapat melakukannya seperti:

$jq(window).attr("location","http://yourdomain.com");
138
ScoRpion

Ini bekerja dengan jQuery:

$(window).attr("location", "http://google.fr");
137
xloadx

# Pengalihan Halaman HTML Menggunakan jQuery/JavaScript

Coba kode contoh ini:

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

Jika Anda ingin memberikan URL lengkap sebagaiwindow.location = "www.google.co.in";.

84
Sakthi Karthik

Anda harus meletakkan baris ini dalam kode Anda:

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

Jika Anda tidak memiliki jQuery, gunakan JavaScript:

window.location.replace("http://stackoverflow.com");
window.location.href("http://stackoverflow.com");
77
Ashish Ratan

Jadi, pertanyaannya adalah bagaimana membuat halaman pengalihan, dan bukan bagaimana mengarahkan ke situs web?

Anda hanya perlu menggunakan JavaScript untuk ini. Berikut adalah beberapa kode kecil yang akan membuat halaman pengalihan dinamis.

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

Jadi katakan saja Anda memasukkan potongan ini ke file redirect/index.html di situs web Anda, Anda dapat menggunakannya seperti itu.

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

Dan jika Anda pergi ke tautan itu, secara otomatis akan mengarahkan Anda ke stackoverflow.com .

Tautan ke Dokumentasi

Dan itulah cara Anda membuat halaman pengalihan Sederhana dengan JavaScript

Edit:

Ada juga satu hal yang perlu diperhatikan. Saya telah menambahkan window.location.replace dalam kode saya karena saya pikir ini cocok dengan halaman pengalihan, tetapi, Anda harus tahu bahwa ketika menggunakan window.location.replace dan Anda diarahkan, ketika Anda menekan tombol kembali di browser Anda, ia akan tidak kembali. ke halaman redirect, dan itu akan kembali ke halaman sebelumnya, lihatlah hal demo kecil ini.

Contoh:

Prosesnya: store home => redirect halaman ke google => google

Ketika di google: google => tombol kembali di browser => toko rumah

Jadi, jika ini sesuai dengan kebutuhan Anda maka semuanya akan baik-baik saja. Jika Anda ingin memasukkan halaman pengalihan dalam riwayat browser, ganti ini

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

dengan

if( url ) window.location.href = url;
75
iConnor

Pada fungsi klik Anda, cukup tambahkan:

window.location.href = "The URL where you want to redirect";
$('#id').click(function(){
    window.location.href = "http://www.google.com";
});
70
Swaprks

***** PERTANYAAN ASLI ADALAH - "BAGAIMANA MENGURANGI MENGGUNAKAN JQUERY", SEGERA JAWABAN PELAKSANAAN JQUERY >> KASUS PENGGUNAAN PAKAIAN COMPLIMENTARY *****

Untuk hanya mengarahkan ulang ke halaman dengan JavaScript:

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

Atau jika Anda membutuhkan penundaan:

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

jQuery memungkinkan Anda memilih elemen dari halaman web dengan mudah. Anda dapat menemukan apa pun yang Anda inginkan pada halaman dan kemudian menggunakan jQuery untuk menambahkan efek khusus, bereaksi terhadap tindakan pengguna, atau menampilkan dan menyembunyikan konten di dalam atau di luar elemen yang telah Anda pilih. Semua tugas ini dimulai dengan mengetahui cara memilih elemen atau peristiwa .

     $('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);
     });

Bayangkan seseorang menulis skrip/plugin yang 10.000 baris kode ?! Nah, dengan jQuery Anda dapat terhubung ke kode ini hanya dengan satu atau dua baris.

69
SergeDirect

Coba ini:

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

Cuplikan kode contoh .

58
tilak

jQuery tidak diperlukan. Kamu bisa melakukan ini:

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

Sangat mudah!

Cara terbaik untuk memulai permintaan HTTP adalah dengan document.loacation.href.replace('URL').

54
MayorMonty

Pertama tulis dengan benar. Anda ingin menavigasi di dalam aplikasi untuk tautan lain dari aplikasi Anda untuk tautan lain. Ini kodenya:

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

Dan jika Anda ingin menavigasi halaman dalam aplikasi Anda maka saya juga punya kode, jika Anda mau.

51
Anup

Anda dapat mengarahkan ulang di jQuery seperti ini:

$(location).attr('href', 'http://yourPage.com/');
50
Azam Alvi

Dalam JavaScript dan jQuery kita dapat menggunakan kode berikut untuk mengarahkan ulang satu halaman ke halaman lain:

window.location.href="http://google.com";
window.location.replace("page1.html");
43
user2496033

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
42
lalithkumar

ECMAScript 6 + jQuery, 85 byte

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

Tolong jangan bunuh aku, ini lelucon. Itu lelucon. Ini lelucon.

Ini memang "memberikan jawaban untuk pertanyaan", dalam arti bahwa ia meminta solusi "menggunakan jQuery" yang dalam hal ini mengharuskan memaksanya ke dalam persamaan entah bagaimana.

Ferrybig rupanya membutuhkan lelucon yang dijelaskan (masih bercanda, saya yakin ada opsi terbatas pada formulir ulasan), jadi tanpa basa-basi lagi:

Jawaban lain menggunakan attr() jQuery pada objek location atau window secara tidak perlu.

Jawaban ini juga melecehkannya, tetapi dengan cara yang lebih konyol. Alih-alih menggunakannya untuk mengatur lokasi, ini menggunakan attr() untuk mengambil fungsi yang mengatur lokasi.

Fungsi ini bernama jQueryCode meskipun tidak ada jQuery tentang hal itu, dan memanggil fungsi somethingCode hanya mengerikan, terutama ketika sesuatu bahkan bukan bahasa.

"85 byte" adalah referensi ke Code Golf. Golf jelas bukan sesuatu yang harus Anda lakukan di luar kode golf, dan lebih jauh lagi jawaban ini jelas bukan golf.

Pada dasarnya, ngeri.

42
1j01

Berikut adalah pengalihan waktu tunda. Anda dapat mengatur waktu tunda untuk apa pun yang Anda inginkan:

<!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
Stefan Gruenwald

Ada tiga cara utama untuk melakukan ini,

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

dan...

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

Yang terakhir adalah yang terbaik, untuk pengalihan tradisional, karena itu tidak akan menyimpan halaman yang Anda kunjungi sebelum diarahkan ke riwayat pencarian Anda. Namun, jika Anda hanya ingin membuka tab dengan JavaScript, Anda dapat menggunakan salah satu di atas. 1

EDIT: Awalan window adalah opsional.

36
Ben

Saya baru saja memperbarui kekonyolan ini dengan metode jQuery lain yang lebih baru:

var url = 'http://www.fiftywaystoleaveyourlocation.com';
$(location).prop('href', url);
36
Epiphany

Tulis kode di bawah ini setelah bagian PHP, HTML atau jQuery. Jika di bagian tengah PHP atau HTML, gunakan tag <script>.

location.href = "http://google.com"
35
Bidyut

kode jQuery untuk mengarahkan ulang halaman atau URL

Jalan Pertama

Berikut adalah kode jQuery untuk mengarahkan ulang halaman. Karena saya telah meletakkan kode ini pada fungsi $ (document) .ready (), kode ini akan dieksekusi segera setelah halaman dimuat.

var url = "http://stackoverflow.com";
$(location).attr('href',url);

Anda bahkan dapat mengirimkan URL langsung ke metode attr () , alih-alih menggunakan variabel.

Jalan Kedua

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

Anda juga dapat kode seperti ini (keduanya sama secara internal):

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

Jika Anda ingin tahu tentang perbedaan antara window.location dan window.location.href, maka Anda dapat melihat bahwa yang terakhir adalah mengatur properti href secara eksplisit, sedangkan yang pertama melakukannya secara implisit. Karena window.location mengembalikan objek, yang secara default menyetel properti .href-nya.

Jalan Ketiga

Ada cara lain untuk mengarahkan ulang halaman menggunakan JavaScript, metode replace() dari objek window.location. Anda dapat mengirimkan URL baru ke metode replace(), dan itu akan mensimulasikan pengalihan HTTP. Ngomong-ngomong, ingat bahwa metode window.location.replace() tidak memasukkan halaman asal dalam riwayat sesi, yang dapat memengaruhi perilaku tombol kembali. Terkadang, itulah yang Anda inginkan, jadi gunakan dengan hati-hati.

// Doesn't put originating page in history
window.location.replace("http://stackoverflow.com");

Jalan Keempat

seperti attr () method (setelah jQuery 1.6 memperkenalkan)

var url = "http://stackoverflow.com";
$(location).prop('href', url);
32

Di jQuery , gunakan $(location).attr('href', url):

$(document).ready(function(){
    var url = "https://www.youtube.com/watch?v=JwMKRevYa_M";
    $(location).attr('href', url); // Using this
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

Di raw JavaScript , ada sejumlah cara untuk mencapai itu:

window.location.href="https://www.youtube.com/watch?v=JwMKRevYa_M";

- Menetapkan properti href secara eksplisit.

window.location = "http://www.GameOfThrones.com";

- Melakukannya secara implisit Karena window.location mengembalikan objek, yang secara default menetapkan properti .href.

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

- Mengganti lokasi jendela saat ini dengan yang baru.

self.location = "http://www.somewebsite.com";

- mengatur lokasi jendela saat itu sendiri.

Berikut adalah contoh pengalihan JavaScript setelah waktu tertentu (3 detik):

<script>
    setTimeout(function() {
        window.location.href = "https://www.youtube.com/";
    }, 3000);
</script>
29
Inconnu

Menggunakan JavaScript:

Metode 1:

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

Metode 2:

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

Menggunakan jQuery:

Metode 1: $ (lokasi)

$(location).attr('href', 'http://google.com');

Metode 2: Fungsi Dapat Digunakan Kembali

jQuery.fn.redirectTo = function(url){
    window.location.href = url;
}

jQuery(window).redirectTo("http://google.com");
28
Kalpesh Panchal

Dalam JavaScript dan jQuery kami menggunakan kode berikut ini untuk mengarahkan ulang halaman:

window.location.href="http://google.com";
window.location.replace("page1.html");

Tapi Anda bisa membuat fungsi di jQuery untuk mengarahkan ulang halaman:

jQuery.fn.redirect=function(url)
{
    window.location.href=url;
}

Dan panggil fungsi ini:

jQuery(window).redirect("http://stackoverflow.com/")
27
Muhammad Waqas

Gunakan fungsi jQuery:

$.extend({
  redirectPost: function(location, args) {
    var form = '';
    $.each(args, function(key, value) {
      form += '<input type="hidden" name="' + key + '" value="' + value + '">';
    });
    $('<form action="' + location + '" method="POST">' + form + '</form>').appendTo($(document.body)).submit();
  }
});

Dalam kode Anda, Anda menggunakannya seperti ini:

$.redirectPost("addPhotos.php", {pimreference:  $("#pimreference").val(), tag: $("#tag").val()});
23
stratum

Cukup dalam JavaScript, Anda dapat mengalihkan ke halaman tertentu dengan menggunakan yang berikut:

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

Atau

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

Atau

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

Menggunakan jQuery:

$(window).attr("location","http://www.test.com");
18
vipul sorathiya
<script type="text/javascript">
var url = "https://yourdomain.com";

// IE8 and lower fix
if (navigator.userAgent.match(/MSIE\s(?!9.0)/))
{
    var referLink = document.createElement("a");
    referLink.href = url;
    document.body.appendChild(referLink);
    referLink.click();
}

// All other browsers
else { window.location.replace(url); }
</script>
17
Jaydeep Jadav

Javascript sangat luas. Jika Anda ingin melompat ke halaman lain, Anda memiliki tiga opsi.

 window.location.href='otherpage.com';
 window.location.assign('otherpage.com');
 //and...

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

Karena Anda ingin pindah ke halaman lain, Anda dapat menggunakan salah satu dari ini jika ini adalah persyaratan Anda. Namun ketiga opsi terbatas pada situasi yang berbeda. Pilih dengan bijak sesuai dengan kebutuhan Anda.

jika Anda tertarik dengan lebih banyak pengetahuan tentang konsep. Anda bisa melewati lebih jauh.

window.location.href; returns the href (URL) of the current page
window.location.hostname; returns the domain name of the web Host
window.location.pathname; returns the path and filename of the current page
window.location.protocol; returns the web protocol used (http: or https:)
window.location.assign; loads a new document
16
Must Keem J

Berikut adalah kode untuk mengalihkan ke halaman lain dengan batas waktu 10 detik.

<script>
    function Redirect()
    {
        window.location="http://www.adarshkr.com";
    }

    document.write("You will be redirected to a new page in 10 seconds.");
    setTimeout('Redirect()', 10000);
</script>

Anda juga dapat melakukannya seperti ini, klik tombol menggunakan location.assign:

<input type="button" value="Load new document" onclick="newPage()">
<script>
    function newPage() {
        window.location.assign("http://www.adarshkr.com")
    }
</script>
15

Anda dapat menggunakannya seperti pada kode berikut di mana getRequestToForwardPage adalah pemetaan permintaan ( URL ). Anda juga dapat menggunakan URL Anda.

function savePopUp(){
    $.blockUI();
    $.ajax({
        url:"saveGuestHouse?roomType="+$("#roomType").val(),
        data: $("#popForm").serialize(),
        dataType: "json",
        error: (function() {
            alert("Server Error");
            $.unblockUI();
    }),
    success: function(map) {
        $("#layer1").hide();
        $.unblockUI();
        window.location = "getRequestToForwardPage";
    }
});

Ini untuk konteks aplikasi yang sama.

Jika Anda hanya ingin menggunakan kode khusus jquery maka kode berikut ini dapat membantu:

 $(location).attr('href',"http://www.google.com");
 $jq(window).attr("location","http://www.google.com");
 $(location).prop('href',"http://www.google.com"); 
15
Vinay Sharma
<script type="text/javascript">
    if(window.location.href === "http://stackoverflow.com") {      
         window.location.replace("https://www.google.co.in/");
       }
</script>
13
sneha

Anda dapat mengarahkan halaman dengan menggunakan metode di bawah ini:

  1. Dengan menggunakan tag meta di kepala - <meta http-equiv="refresh" content="0;url=http://your-page-url.com" />. Perhatikan bahwa content="0;... digunakan setelah berapa detik Anda harus mengarahkan ulang halaman

  2. Dengan menggunakan JavaScript: window.location.href = "http://your-page-url.com";

  3. Dengan menggunakan jQuery: $(location).attr('href', 'http://yourPage.com/');

13
SantoshK

Kamu bisa memakai:

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

Metode replace() tidak menyimpan halaman asal dalam riwayat sesi, sehingga pengguna tidak dapat kembali menggunakan tombol kembali dan kembali diarahkan. CATATAN: Tombol kembali browser akan dinonaktifkan dalam kasus ini.

Namun, jika Anda menginginkan efek yang sama dengan mengklik tautan, Anda harus mencari:

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

Dalam hal ini, tombol kembali browser akan aktif.

13
madhur

Menggunakan:

function redirect(a) {
    location = a
}

Dan menyebutnya dengan: redirect([url]);

Tidak perlu untuk href setelah location, seperti yang tersirat.

12
cascading-style

Anda dapat menulis Url.Action untuk acara klik Tombol di bagian skrip sebagai berikut.

function onclick() {
        location.href = '@Url.Action("Index","Home")';
    }
12
wild coder

Aplikasi Halaman Tunggal , dalam rute aplikasi yang sama

window.location.pathname = '/stack';

JavaScript:

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

jQuery:

$(location).attr('href', "http://www.stack.com");
$(window).attr('location', "http://www.stack.com");

Angular 4

import { Router } from '@angular/router';
export class NavtabComponent{
    constructor(private router: Router) {
    }
    this.router.navigate(['bookings/taxi']);
}
12
HD..

Saya hanya menambahkan cara lain:

Untuk mengalihkan halaman/tautan spesifik situs Anda ke halaman lain, cukup tambahkan baris kode ini:

<script>
    if(window.location.href == 'old_url')
    {
        window.location.href="new_url";
    }

    // Another URL redirect
    if(window.location.href == 'old_url2')
    {
        window.location.href="new_url2";
    }
</script>

Sebagai contoh kehidupan nyata,

<script>
    if(window.location.href == 'https://old-site.com')
    {
        window.location.href="https://new-site.com";
    }

    // Another URL redirect
    if(window.location.href == 'https://old-site.com/simple-post.html')
    {
        window.location.href="https://new-site.com/simple-post.html";
    }
</script>

Dengan menggunakan kode sederhana ini, Anda dapat mengarahkan ulang situs penuh atau halaman tunggal.

11

Ini sangat mudah diimplementasikan. Kamu bisa memakai:

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

Ini akan mengingat riwayat halaman sebelumnya. Jadi seseorang dapat kembali dengan mengklik tombol kembali browser.

Atau:

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

Metode ini tidak mengingat riwayat halaman sebelumnya. Tombol kembali menjadi dinonaktifkan dalam kasus ini.

11

Jika Anda lebih suka menggunakan javascript murni saya menyadari bahwa penggunaan document.location.href = "https://example.com" atau window.location.href = "https://example.com" menyebabkan masalah kompatibilitas di Firefox. Alih-alih mencoba menggunakan:

location.href = "https://example.com";
location.replace("http://example.com");

Dalam kasus saya telah menyelesaikan masalah. Semoga berhasil!

Saya sudah menggunakan fungsi redirect () dari JavaScript. Bekerja.

<script type="text/javascript">
    $(function () {
        //It's similar to HTTP redirect
        window.location.replace("http://www.Technomark.in");

        //It's similar to clicking on a link
        window.location.href = "Http://www.Technomark.in";
    })
</script>
10
user1012506
  1. location.assign ():

    Untuk menetapkan jalur rute dengan melewatkan jalur ke dalamnya .. Tetapkan akan memberi Anda riwayat bahkan setelah jalur tersebut ditetapkan.

    Metode Penggunaan: nilai harus diteruskan ke dalamnya.

    Misalnya: location.assign("http://google.com")

     Enter image description here

  2. location.href

    Dapat mendefinisikan memberikan path ke dalamnya ... Dan itu akan mengarahkan ke path yang diberikan setelah setup, dan itu akan membuat sejarah ...

    Metode Penggunaan: nilai harus ditetapkan ke dalamnya.

    Misalnya: location.href = "http://google.com"

  3. location.replace ():

    Ini akan membantu untuk mengganti jalur jika Anda tidak ingin menyimpan sejarah. Itu tidak akan memberi Anda sejarah setelah Anda mengganti jalurnya.

    Metode Penggunaan: nilai harus diteruskan ke dalamnya.

    Misalnya: location.replace("http://google.com")

     Enter image description here


assign() dan href serupa, dan keduanya dapat menyimpan sejarah. assign akan bekerja dengan memberikan nilai dan href bekerja dengan menugaskan.

Anda dapat mencapainya menggunakan JavaScript sendiri tanpa menggunakan jQuery dengan menetapkan,

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

Anda dapat mencapai hal serupa menggunakan jQuery seperti di bawah ini. Ini akan melakukan persis sama seperti di atas,

$(window).attr('location', "http://www.google.com");
$(location).attr('href', "http://www.google.com");

Anda dapat dengan mudah memahami perbedaan antara keduanya ...

Di sini adalah objek Lokasi,

 Location API from chrome

10
Silent Spectator

Jika Anda ingin mengarahkan ulang ke rute dalam aplikasi yang sama, cukup

window.location.pathname = '/examplepath'

akan menjadi cara untuk pergi.

9
RuNpiXelruN

Menggunakan location.replace() akan mengarahkan Anda tetapi tanpa menyimpan riwayat halaman sebelumnya. Ini lebih baik digunakan ketika formulir dikirimkan. Tetapi ketika Anda ingin menyimpan riwayat Anda, Anda harus menggunakan location.href=//path

Contoh:

// form with steps
document.getElementById('#next').onclick = function() {
   window.location.href='/step2' // iteration of steps;
}

// go to next step
document.getElementById("#back').onclick = function() {
   window.history.back();
}

// finish 
document.getElementById("#finish').onclick = function() {
   window.location.href = '/success';
}

// on success page
window.onload = function() {
    setTimeout(function() {
       window.location.replace('/home'); // i can't go back to success page by pressing the back button
    },3000);
}
8
Andrei Todorut

Semua cara untuk membuat arahan ulang dari sisi klien:

<!DOCTYPE html>
<html>
    <head>
        <title>JavaScript and jQuery example to redirect a page or URL </title>
    </head>
    <body>
        <div id="redirect">
            <h2>Redirecting to another page</h2>
        </div>

        <script src="scripts/jquery-1.6.2.min.js"></script>
        <script>
            // JavaScript code to redirect a URL
            window.location.replace("http://stackoverflow.com");
            // window.location.replace('http://code.shouttoday.com');

            // Another way to redirect page using JavaScript

            // window.location.assign('http://code.shouttoday.com');
            // window.location.href = 'http://code.shouttoday.com';
            // document.location.href = '/relativePath';

            //jQuery code to redirect a page or URL
            $(document).ready(function(){
                //var url = "http://code.shouttoday.com";
                //$(location).attr('href',url);
                // $(window).attr('location',url)
                //$(location).prop('href', url)
            });
        </script>
    </body>
</html>
8
Zigri2612

Mengarahkan Pengguna menggunakan jQuery/JavaScript

Dengan menggunakan objek lokasi di jQuery atau JavaScript, kami dapat mengarahkan pengguna ke halaman web lain.

Di jQuery

Kode untuk mengarahkan pengguna dari satu halaman ke halaman lainnya adalah:

var url = 'http://www.example.com';
$(location).attr('href', url);

Dalam JavaScript

Kode untuk mengarahkan pengguna dari satu halaman ke halaman lainnya adalah:

var url = 'http://www.example.com';
window.location.href = url;

Atau

var url = 'http://www.example.com';
window.location = url;
6
devst3r

Ini adalah bagaimana saya menggunakannya.

   window.location.replace('yourPage.aspx');   
   // If you're on root and redirection page is also on the root

   window.location.replace(window.location.Host + '/subDirectory/yourPage.aspx');

   // If you're in sub directory and redirection page is also in some other sub directory.
5
dnxit

Dalam pengalaman kerja saya, JavaScript jauh lebih baik untuk diarahkan.

Itu tergantung pada bagaimana Anda ingin mengubah lokasi. Jika Anda ingin login situs web Anda dalam riwayat pengguna, gunakan window.location.href='ur website';. Kalau tidak untuk melakukannya tanpa masuk dalam sejarah, gunakan window.location.replace("your website");.

4
Omkaar.K