如何从URL获取片段标识符(hash#之后的值)?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何从URL获取片段标识符(hash#之后的值)?相关的知识,希望对你有一定的参考价值。

例:

www.site.com/index.php#hello

使用jQuery,我想将值hello放在一个变量中:

var type = …
答案

不需要jQuery

var type = window.location.hash.substr(1);
另一答案

您可以使用以下代码来完成:

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

SEE DEMO

另一答案
var url ='www.site.com/index.php#hello';
var type = url.split('#');
var hash = '';
if(type.length > 1)
  hash = type[1];
alert(hash);

关于jsfiddle的工作演示

另一答案

使用以下javascript从URL获取散列(#)后的值。你不需要使用jQuery。

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

我从这里得到了这个代码和教程 - How to get hash value from URL using JavaScript

另一答案

这很容易。请尝试以下代码

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

我从运行时间获得了URL,下面给出了正确的答案:

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

希望这可以帮助

另一答案

基于A.K的代码,这是一个辅助函数。 JS Fiddle Here(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);

以上是关于如何从URL获取片段标识符(hash#之后的值)?的主要内容,如果未能解决你的问题,请参考以下文章

从 URL 获取片段(哈希“#”后的值)[关闭]

在保持相同行为的同时隐藏 url 中的 #hash 片段?

URL中的锚点(fragment片段标识符)是什么?(hash mark(#))(HTML 页面内定位)(之前学html不是学了吗?忘啦?)(SEO 搜索引擎优化)

js获取url中指定参数的值(兼容hash)

从 AngularJS url 中删除片段标识符(# 符号)

如何从服务器端获取 Url Hash (#)