Добавить фрагмент в 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)
}
Тлади Рамахата
источник