如何从评论链接中获取评论ID?

时间:2018-04-13 作者:Mido

假设这是评论链接:

http://localhost/post/test/#comment-86

我想做这件事:

检查当前页面URL是否请求注释(是否有注释-x)。

如果当前页面URL正在请求注释,请从URL获取注释id。

1 个回复
最合适的回答,由SO网友:Sally CJ 整理而成

根据您的评论,您可以通过JavaScript获取评论ID,下面是一个示例function 您可以使用/尝试:

<script>
function getCommentIdFromUrl( url ) {
    return (
        ( url && /#comment-(\\d+)$/.test( url ) ) ||
        ( location.hash && /^#comment-(\\d+)$/.test( location.hash ) )
    ) && RegExp.$1;
}
</script>
因此,如果当前页面的URL是http://example.com/hello-world/#comment-76getCommentIdFromUrl() 将返回76.

或者,您可以忽略上述内容function 并将第二个表达式与var可以,就像这样:

var comment_ID = location.hash && /^#comment-(\\d+)$/.test( location.hash ) && RegExp.$1;
希望这有帮助。

[编辑]在回复您对我的答案的评论时,您可以忽略上面的所有代码,而使用以下代码:

var
    // Check if the current URL ends with a #comment-123, where 123 is the comment ID.
    is_comment_link = /#comment-(\\d+)$/.test( location.href ),

    // Removes the #comment- portion from the URL hash, and get the comment ID.
    comment_ID = is_comment_link && location.hash.substring(9);
或者您也可以使用:

var is_comment_link, comment_ID;

if ( /#comment-(\\d+)$/.test( location.href ) ) {
    is_comment_link = true;
    comment_ID = RegExp.$1;
}

结束