Добавить фрагмент в URL без перенаправления?


86

Есть ли способ добавить хэш # к моему URL без перенаправления?

Ответы:


170
window.location.hash = 'something';

Это простой JavaScript.

Твой комментарий...

Привет, что мне действительно нужно, так это добавить только хеш ... что-то вроде этого: window.location.hash = '#';но таким образом ничего не добавляется.

Попробуй это...

window.location = '#';

Также не забывайте о window.location.replace()методе.


Привет, мне действительно нужно добавить только хеш ... что-то вроде этого: window.location.hash = '#'; но таким образом ничего не добавляется ..
Dee

27

Для прямого HTML без использования JavaScript:

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

Или, если понимать ваш вопрос буквально, просто добавьте к URL-адресу '#':

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

неверно, так как вам нужно щелкнуть ссылку, чтобы изменить хеш .. так что вам не хватает части js, где вы запускаете "щелчок" ..
Хуан

@Juan Зачем нам нужно "запускать" щелчок? В исходном вопросе просто было задано, как мы можем добавить #к URL-адресу. На самом деле, щелчок по ссылке, как я предлагал, выполнит это. Нет необходимости в JS.
Джесс Телфорд

1
Ваш ответ описывает, как создать ссылку, которая при нажатии добавляет фрагмент к URL-адресу. Вопрос спрашивает, как добавить фрагмент. Итак, в вашем ответе отсутствует действие, то есть «щелчок»
Хуан

2
Честно говоря, я вижу, что вопрос интерпретируется именно так. Надеюсь, кто-то по-прежнему сочтет эту опцию полезной для своего варианта использования.
Джесс Телфорд

6
window.location.hash = 'whatever';

5
#Префикс не требуется.
Alex

@alex: Ах, я не был уверен, нужно это или нет. window.location.hash возвращает хеш с префиксом #, поэтому я предположил, что это так. Благодарю за разъяснение. :)
Daniel Lo Nigro

4
Не беспокойтесь - и это заставляет задуматься, почему он всегда его возвращает.
Alex

0

Попробуй это

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

if (mainURL == URL) {
    mainURL += ( mainURL.match( /[\?]/g ) ? '&' : '#' ) + '_bypasssharerestrictions_';
    console.log(mainURL)
}
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.