Thêm một phân đoạn vào URL mà không gây ra chuyển hướng?


86

Có cách nào để thêm hash # vào URL của tôi mà không cần chuyển hướng không?

Câu trả lời:


170
window.location.hash = 'something';

Đó chỉ là JavaScript đơn giản.

Bình luận của bạn...

Xin chào, những gì tôi thực sự cần là chỉ thêm băm ... một cái gì đó như thế này: window.location.hash = '#';nhưng theo cách này, không có gì được thêm vào.

Thử đi...

window.location = '#';

Ngoài ra, đừng quên về window.location.replace()phương pháp.


Xin chào, những gì tôi thực sự cần là chỉ thêm hàm băm ... một cái gì đó như thế này: window.location.hash = '#'; nhưng theo cách này không có gì được thêm vào ..
Dee

27

Đối với HTML đơn giản, không cần JavaScript:

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

Hoặc, để hiểu câu hỏi của bạn theo nghĩa đen hơn, chỉ cần thêm '#' vào URL:

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

không đúng, như bạn cần phải nhấp vào liên kết để thay đổi băm .. vì vậy bạn đang thiếu phần js nơi bạn kích hoạt các "click" ..
Juan

@Juan Tại sao chúng ta cần "kích hoạt" một cú nhấp chuột? Câu hỏi ban đầu chỉ hỏi làm thế nào chúng tôi có thể thêm #URL vào URL. Trên thực tế, nhấp vào một liên kết như tôi đã đề xuất sẽ đáp ứng được điều đó. Không cần JS.
Jess Telford

1
Câu trả lời của bạn mô tả cách tạo một liên kết, KHI được nhấp vào, sẽ thêm một đoạn vào url. Câu hỏi hỏi làm thế nào để thêm một đoạn. Vì vậy, câu trả lời của bạn thiếu hành động, tức là "nhấp chuột"
Juan

2
Công bằng mà nói, tôi có thể thấy câu hỏi được diễn giải theo cách đó. Hy vọng rằng ai đó vẫn sẽ thấy tùy chọn này hữu ích cho trường hợp sử dụng của họ.
Jess Telford

6
window.location.hash = 'whatever';

5
Các #tiền tố là không cần thiết.
alex

@alex: À, tôi không chắc liệu nó có được yêu cầu hay không. window.location.hash trả về mã băm có tiền tố #, vì vậy tôi cho rằng nó là như vậy. Cảm ơn bạn đã làm rõ. :)
Daniel Lo Nigro

4
Đừng lo lắng - và nó khiến bạn tự hỏi tại sao nó luôn trả lại nó.
alex

0

Thử đi

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

if (mainURL == URL) {
    mainURL += ( mainURL.match( /[\?]/g ) ? '&' : '#' ) + '_bypasssharerestrictions_';
    console.log(mainURL)
}
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.