it-roy-ru.com

Как получить идентификатор фрагмента (значение после хеш-кода) из URL?

Пример:

www.site.com/index.php#hello

Используя jQuery, я хочу поместить значение hello в переменную:

var type = …
189
cppit

Нет необходимости в jQuery

var type = window.location.hash.substr(1);
544
Musa

Вы можете сделать это, используя следующий код:

var url = "www.site.com/index.php#hello";
var hash = url.substring(url.indexOf('#')+1);
alert(hash);

СМ. ДЕМО

32
Ahsan Khurshid
var url ='www.site.com/index.php#hello';
var type = url.split('#');
var hash = '';
if(type.length > 1)
  hash = type[1];
alert(hash);

Рабочая демонстрация на jsfiddle

12
Talha

Используйте следующий JavaScript, чтобы получить значение после хеша (#) из URL. Вам не нужно использовать jQuery для этого.

var hash = location.hash.substr(1);

Я получил этот код и учебник отсюда - Как получить хеш-значение из URL с помощью JavaScript

6
JoyGuru

У меня был URL от времени выполнения, ниже дал правильный ответ:

let url = "www.site.com/index.php#hello";
alert(url.split('#')[1]);

надеюсь это поможет

4
Manohar Reddy Poreddy

Это очень просто. Попробуйте приведенный ниже код

$(document).ready(function(){  
  var hashValue = location.hash;  
  hashValue = hashValue.replace(/^#/, '');  
  //do something with the value here  
});
4
kmario23

Основываясь на коде A.K, вот вспомогательная функция. JS Fiddle Здесь ( http://jsfiddle.net/M5vsL/1/ ) ...

// Helper Method Defined Here.
(function (helper, $) {
    // This is now a utility function to "Get the Document Hash"
    helper.getDocumentHash = function (urlString) {
        var hashValue = "";

        if (urlString.indexOf('#') != -1) {
            hashValue = urlString.substring(parseInt(urlString.indexOf('#')) + 1);
        }
        return hashValue;
    };
})(this.helper = this.helper || {}, jQuery);
2
Ro Hit