Bagaimana saya bisa mengarahkan pengguna dari satu halaman ke halaman lain menggunakan jQuery atau JavaScript murni?
javascript
jquery
redirect
venkatachalam
sumber
sumber
window.location
sama denganwindow.location.href
, dalam hal perilaku.window.location
mengembalikan objek. Jika.href
tidak disetel,window.location
default untuk mengubah parameter.href
. Kesimpulan: Gunakan salah satu baik-baik saja.Jawaban:
Seseorang tidak hanya mengarahkan ulang menggunakan jQuery
jQuery tidak perlu, dan
window.location.replace(...)
akan paling baik mensimulasikan pengalihan HTTP.window.location.replace(...)
lebih baik daripada menggunakanwindow.location.href
, karenareplace()
tidak menjaga halaman asal dalam riwayat sesi, yang berarti pengguna tidak akan terjebak dalam kegagalan tombol kembali yang tidak pernah berakhir.Jika Anda ingin mensimulasikan seseorang yang mengklik tautan, gunakan
location.href
Jika Anda ingin mensimulasikan pengalihan HTTP, gunakan
location.replace
Sebagai contoh:
sumber
$(location).attr('href',url);
.window.location.href
tampaknya memiliki perilaku tidak konstan di beberapa browser, pada kenyataannya, itu tidak berfungsi di versi Firefox saya. Saya pernah mendengar tentang pengaturanwindow.location
langsung tidak berfungsi dalam versi IE.PERINGATAN: Jawaban ini hanya diberikan sebagai solusi yang memungkinkan; itu jelas bukan solusi terbaik, karena membutuhkan jQuery. Sebaliknya, lebih suka solusi JavaScript murni.
sumber
window.location
bukan merupakan elemen dan karena itu tidak memiliki atribut..attr()
sebenarnya menetapkan atribut (yaitu.setAttribute()
)Cara standar JavaScript "vanilla" untuk mengarahkan ulang halaman
Atau lebih sederhana: (karena
window
Global)Bagian berikut adalah untuk mereka yang menggunakan
HTTP_REFERER
sebagai salah satu dari banyak tindakan keamanan (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. Jika tidak, Anda hampir selalu dapat digunakan
window.location.href
.Pengujian terhadap
HTTP_REFERER
(penyisipan URL, sesi, dll.) Dapat membantu memberi tahu apakah suatu permintaan sah. ( Catatan: ada juga cara untuk mengatasi / memalsukan rujukan ini, seperti yang dicatat oleh tautan droop di komentar)Solusi pengujian lintas-browser sederhana (mundur ke window.location.href untuk Internet Explorer 9+ dan semua browser lainnya)
Pemakaian:
redirect('anotherpage.aspx');
sumber
location.assign
? Saya gunakan di aplikasi saya dengan IE8, dan saya tidak kehilanganHTTP_REFERER
header.Ada banyak cara untuk melakukan ini.
sumber
window.navigate
ini hanya untuk IE lama (Firefox / Chrome tidak mendukung ini). Jika Anda ingin menghitung semua opsi, jangan lupakandocument.location
.Ini berfungsi untuk setiap browser:
sumber
document.location.replace(redirectURL)
jika Anda tidak ingin halaman pertama ada dalam riwayat browserAkan 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.
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 anchor 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.
sumber
Saya juga berpikir itu
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), Anda harus menambahkanrel="canonical"
tag meta ke situs web Anda.Menambahkan bagian noscript dengan tag meta penyegaran HTML di dalamnya, juga merupakan solusi yang baik. Saya sarankan Anda untuk menggunakan alat pengalihan JavaScript ini untuk membuat pengalihan. Ini juga memiliki dukungan Internet Explorer untuk melewati pengarah HTTP.
Kode contoh tanpa penundaan terlihat seperti ini:
sumber
Tetapi jika seseorang ingin mengarahkan kembali ke beranda maka ia dapat menggunakan cuplikan berikut.
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.
sumber
window.location = '/'
JavaScript memberi Anda banyak metode untuk mengambil dan mengubah URL saat ini yang ditampilkan di bilah alamat browser. 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 ..
Struktur Dasar suatu URL
Protokol - Menentukan nama protokol yang digunakan untuk mengakses sumber daya di Internet. (HTTP (tanpa SSL) atau HTTPS (dengan SSL))
hostname - Nama host menentukan host yang memiliki sumber daya. Misalnya, www.stackoverflow.com. Server menyediakan layanan menggunakan nama host.
port - Nomor port yang digunakan untuk mengenali proses tertentu yang akan diteruskan Internet atau pesan jaringan lainnya ketika tiba di server.
pathname - Path memberikan info tentang sumber daya spesifik dalam host yang ingin diakses oleh klien Web. Misalnya, stackoverflow.com/index.html.
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).
hash - Bagian anchor dari URL, termasuk tanda hash (#).
Dengan properti objek Lokasi ini, Anda dapat mengakses semua komponen URL ini
Sekarang Jika Anda ingin mengubah halaman atau mengarahkan pengguna ke halaman lain, Anda dapat menggunakan
href
properti dari objek Lokasi seperti iniAnda dapat menggunakan properti href dari objek Location.
Lokasi Obyek juga memiliki tiga metode ini
Anda dapat menggunakan assign () dan mengganti metode juga untuk mengarahkan ulang ke halaman lain seperti ini
Bagaimana menetapkan () dan mengganti () berbeda - Perbedaan antara metode replace () dan metode assign () (), adalah mengganti () menghapus URL dokumen saat ini dari riwayat dokumen, berarti tidak mungkin untuk 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
Dan karenanya Anda dapat mengarahkan pengguna ke beberapa url lainnya.
sumber
Pada dasarnya jQuery hanyalah kerangka kerja JavaScript dan untuk melakukan beberapa hal seperti pengalihan dalam hal ini, Anda dapat menggunakan JavaScript murni, jadi dalam hal ini Anda memiliki 3 opsi menggunakan vanilla JavaScript:
1) Menggunakan lokasi menggantikan , ini akan menggantikan sejarah saat halaman, berarti bahwa tidak mungkin untuk menggunakan kembali tombol untuk kembali ke halaman asli.
2) Menggunakan penetapan lokasi , ini akan menyimpan riwayat untuk Anda dan dengan menggunakan tombol kembali, Anda dapat kembali ke halaman asli:
3) Saya sarankan menggunakan salah satu cara sebelumnya, tetapi ini bisa menjadi pilihan ketiga menggunakan JavaScript murni:
Anda juga dapat menulis fungsi dalam jQuery untuk menanganinya, tetapi tidak disarankan karena ini hanya satu fungsi garis 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 sajalocation.replace("http://stackoverflow.com");
Saya juga menunjukkan semuanya pada gambar di bawah ini:
sumber
assign()
lebihhref=
karena yang terakhir tidak berfungsi dengan baik untuk saya dalam beberapa kasus.Seharusnya bisa diatur menggunakan
window.location
.Contoh:
Berikut adalah posting terakhir tentang subjek: Bagaimana cara mengarahkan ulang ke halaman web lain?
sumber
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:
Itu ditemukan di sini: https://jquery.com/browser-support/
Jadi jQuery bukanlah solusi akhir-semua dan semua-untuk kompatibilitas mundur.
Solusi berikut ini menggunakan JavaScript baku berfungsi di semua browser dan telah standar untuk waktu yang lama sehingga Anda tidak memerlukan pustaka untuk dukungan lintas browser.
Halaman ini akan dialihkan ke Google setelah 3000 milidetik
Pilihan yang berbeda adalah sebagai berikut:
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
atauwindow.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 dialihkan 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 Segarkan
Lokasi META
BASE Hijacking
Banyak lagi metode 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):
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.
Paragraf berikutnya 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 pengalihan: https://support.google.com/webmasters/answer/2721217?hl=id&ref_topic=6001971
Ini adalah halaman kecil yang menyenangkan yang menendang Anda keluar dari halaman.
Jika Anda menggabungkan dua contoh halaman bersama-sama, Anda akan memiliki lingkaran pengalihan rute bayi yang akan menjamin bahwa pengguna Anda tidak akan pernah ingin menggunakan situs Anda lagi.
sumber
sumber
Anda dapat melakukannya tanpa jQuery sebagai:
Dan jika Anda hanya menginginkan jQuery maka Anda dapat melakukannya seperti:
sumber
Ini bekerja dengan jQuery:
sumber
window.location
# Pengalihan Halaman HTML Menggunakan jQuery / JavaScript
Coba kode contoh ini:
Jika Anda ingin memberikan URL lengkap sebagai
window.location = "www.google.co.in";
.sumber
Anda harus meletakkan baris ini dalam kode Anda:
Jika Anda tidak memiliki jQuery, gunakan JavaScript:
sumber
Pertanyaan awal: "Bagaimana cara mengarahkan ulang menggunakan jQuery?", Maka jawabannya mengimplementasikan jQuery >> Kasus penggunaan gratis.
Untuk hanya mengarahkan ulang ke halaman dengan JavaScript:
Atau jika Anda membutuhkan penundaan:
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 acara .
Bayangkan seseorang menulis skrip / plugin dengan 10.000 baris kode. Dengan jQuery Anda dapat terhubung ke kode ini hanya dengan satu atau dua baris.
sumber
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.
Jadi katakan saja Anda memasukkan potongan ini ke
redirect/index.html
file di situs web Anda, Anda dapat menggunakannya seperti itu.Dan jika Anda membuka tautan itu, secara otomatis akan mengarahkan Anda ke stackoverflow.com .
Dan itulah bagaimana Anda membuat halaman pengarahan ulang sederhana dengan JavaScript
Edit:
Ada juga satu hal yang perlu diperhatikan. Saya telah menambahkan
window.location.replace
dalam kode saya karena saya pikir itu cocok dengan halaman pengalihan, tetapi, Anda harus tahu bahwa ketika menggunakanwindow.location.replace
dan Anda diarahkan, ketika Anda menekan tombol kembali di browser Anda itu tidak akan kembali ke halaman pengalihan, dan itu akan kembali ke halaman sebelumnya, lihatlah demo kecil ini.Contoh:
Jadi, jika ini sesuai dengan kebutuhan Anda maka semuanya akan baik-baik saja. Jika Anda ingin memasukkan halaman pengalihan dalam riwayat browser, ganti ini
dengan
sumber
Pada fungsi klik Anda, cukup tambahkan:
sumber
Coba ini:
Cuplikan kode misalnya .
sumber
jQuery tidak diperlukan. Kamu bisa melakukan ini:
Sangat mudah!
Cara terbaik untuk memulai permintaan HTTP adalah dengan
document.loacation.href.replace('URL')
.sumber
Pertama tulis dengan benar. Anda ingin menavigasi di dalam aplikasi untuk tautan lain dari aplikasi Anda untuk tautan lain. Ini kodenya:
Dan jika Anda ingin menavigasi halaman dalam aplikasi Anda maka saya juga memiliki kode, jika Anda mau.
sumber
Anda dapat mengarahkan ulang di jQuery seperti ini:
sumber
Dalam JavaScript dan jQuery kita dapat menggunakan kode berikut untuk mengarahkan ulang satu halaman ke halaman lain:
sumber
ECMAScript 6 + jQuery, 85 byte
Tolong jangan bunuh aku, ini lelucon. Itu lelucon. Ini sebuah lelucon.
Ini memang "memberikan jawaban untuk pertanyaan", dalam arti bahwa ia meminta solusi "menggunakan jQuery" yang dalam hal ini mengharuskan memaksa 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 jQuery
attr()
di objeklocation
atauwindow
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 dinamai
jQueryCode
meskipun tidak ada jQuery tentang hal itu, dan memanggil fungsisomethingCode
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 jawaban ini jelas bukan golf.
Pada dasarnya, ngeri.
sumber
Javascript:
Jquery:
sumber
Menggunakan JavaScript:
Metode 1:
Metode 2:
Menggunakan jQuery:
Metode 1: $ (lokasi)
Metode 2: Fungsi Dapat Digunakan Kembali
sumber
Berikut adalah pengalihan waktu tunda. Anda dapat mengatur waktu tunda untuk apa pun yang Anda inginkan:
sumber
Ada tiga cara utama untuk melakukan ini,
dan...
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:
window
Awalan adalah opsional.sumber