Tambahkan fragmen ke URL tanpa menyebabkan pengalihan?


87

Apakah ada cara untuk menambahkan hash # ke URL saya tanpa redirect?

Jawaban:


171
window.location.hash = 'something';

Itu hanyalah JavaScript biasa.

Komentar Anda...

Hai, yang benar-benar saya butuhkan hanyalah menambahkan hash ... sesuatu seperti ini: window.location.hash = '#';tetapi dengan cara ini tidak ada yang ditambahkan.

Coba ini...

window.location = '#';

Juga, jangan lupa tentang window.location.replace()metodenya.


HI, yang benar-benar saya butuhkan adalah menambahkan hash saja ... sesuatu seperti ini: window.location.hash = '#'; tetapi dengan cara ini tidak ada yang ditambahkan ..
Dee

27

Untuk HTML lurus, tanpa memerlukan JavaScript:

<a href="#something">Add '#something' to URL</a>

Atau, untuk memahami pertanyaan Anda secara lebih harfiah, cukup tambahkan '#' ke URL:

<a href="#">Add '#' to URL</a>

tidak benar, karena Anda perlu mengeklik tautan untuk mengubah hash .. jadi Anda kehilangan bagian js tempat Anda memicu "klik" ..
Juan

@Juan Mengapa kita perlu "memicu" klik? Pertanyaan awal hanya menanyakan bagaimana kita dapat menambahkan #ke URL. Sebenarnya mengklik tautan seperti yang saya sarankan akan memenuhi itu. Tidak perlu JS.
Jess Telford

1
Jawaban Anda menjelaskan cara membuat tautan yang, KETIKA diklik, menambahkan fragmen ke url. Pertanyaannya menanyakan bagaimana menambahkan fragmen. Jadi jawaban Anda tidak memiliki tindakan, yaitu "klik"
Juan

2
Cukup adil, saya dapat melihat pertanyaan tersebut ditafsirkan seperti itu. Mudah-mudahan seseorang masih akan menemukan opsi ini berguna untuk kasus penggunaan mereka.
Jess Telford

6
window.location.hash = 'whatever';

5
The #prefix tidak diperlukan.
alex

@alex: Ah, saya tidak terlalu yakin apakah itu diperlukan atau tidak. window.location.hash mengembalikan hash dengan awalan #, jadi saya berasumsi demikian. Terimakasih atas klarifikasinya. :)
Daniel Lo Nigro

4
Jangan khawatir - dan itu membuat Anda bertanya-tanya mengapa ia selalu mengembalikannya.
alex

0

Coba ini

var URL = "scratch.mit.edu/projects";
var mainURL = window.location.pathname;

if (mainURL == URL) {
    mainURL += ( mainURL.match( /[\?]/g ) ? '&' : '#' ) + '_bypasssharerestrictions_';
    console.log(mainURL)
}
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.