Javascript 使用hashtags

Javascript 使用hashtags,javascript,jquery,url,tags,hashtag,Javascript,Jquery,Url,Tags,Hashtag,让我们认为我们的URL看起来像 www.domain.com#CourseID#LessonID 我想做的是,当: CourseDivButton单击当前url 没有hashtag(www.domain.com),只需添加$(this).data(“id”)作为hashtag(www.domain.com#CourseID) 只包含第一个标签-CourseID(www.domain.com#CourseID),然后更改它(www.domain.com#NEWCourseID) 包含两个标签-

让我们认为我们的URL看起来像

www.domain.com#CourseID#LessonID

我想做的是,当:

  • CourseDivButton
    单击当前url
    • 没有hashtag(www.domain.com),只需添加
      $(this).data(“id”)
      作为hashtag(www.domain.com#CourseID
    • 只包含第一个标签-
      CourseID
      (www.domain.com#CourseID),然后更改它(www.domain.com#NEWCourseID
    • 包含两个标签-
      CourseID
      LessonID
      (www.domain.com#CourseID#LessonID),然后删除第二个标签并首先更改(www.domain.com#NEWCourseID
  • LessonDivButton
    单击当前url
    • 只包含第一个标签-
      CourseID
      (www.domain.com#CourseID),然后添加第二个标签(www.domain.com#CourseID#LessonID
    • 包含两个标签-
      CourseID
      LessonID
      (www.domain.com#CourseID#LessonID),然后更改第二个标签,保留第一个标签(www.domain.com#CourseID#NEWLessonID
我的代码如下所示。不知道如何实现我想要的

CourseDivButton.click(function(){
    var id=$(this).data("id");
    LoadLessons(id);
    window.location.hash = id;
});

LessonDivButton.live("click", function(){
    var id=$(this).data("id");
    LoadQuestions(id);
    window.location.hash = id;
});

有什么建议吗?

不能使用hashtags,而使用查询字符串吗?我建议您添加如下内容:

www.domain.com?课程=CourseID&课程=LessonID

使用下面的javascript函数,您可以从URL获取变量,如下所示:

var courseID = urlParam('course');
var lessonID = urlParam('lesson');

function urlParam(name) {
    /// <summary>
    /// Gets the value of a parameter located within the url.
    /// </summary>
    /// <param name="name">The paramter to lookup.</param>
    /// <returns type="string">The value of the requested parameter, or undefined if the parameter is not present.</returns>
    name = name.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]");
    var regexS = "[\\?&]" + name + "=([^&#]*)";
    var regex = new RegExp(regexS);
    var results = regex.exec(window.location.href);
    if (results == null)
        return undefined;
    else
        return decodeURIComponent(results[1].replace(/\+/g, " "));
}
var-courseID=urlParam('course');
var lessonID=urlParam('lesson');
函数urlParam(名称){
/// 
///获取位于url内的参数的值。
/// 
///要查找的参数。
///请求参数的值,如果参数不存在,则为未定义的值。
名称=名称。替换(/[\[]/,“\\\[”)。替换(/[\]]/,“\\\]”);
var regexS=“[\\?&]”+name+“=([^&\\]*)”;
var regex=新的RegExp(regexS);
var results=regex.exec(window.location.href);
如果(结果==null)
返回未定义;
其他的
返回组件(结果[1]。替换(/\+/g,”);
}

如果您需要添加查询字符串来构建新的URL,.

标签是一种在twitter上突出显示搜索词的方法。URI中
后面的文本是片段标识符。@Quentin先生,谢谢你的建议。但是,它只用于与命令共享链接。我不知道你在做什么,但它似乎太复杂了,对你或其他任何人都没有任何用处。请描述一下你想做什么,我相信有更好的方法可以做到这一点。@ThomasClayson哦,这是用于ajax调用的命令
LoadLessons()
LoadQuestions()
是ajax调用函数,用于将课程或课程的id发送到后端,获取数据,填充页面。没有hashtags,用户需要每次单击发送ajax调用。但是当你有一个带有hashtags的url时,你可以很容易地输入这个url,与其他人共享并得到你想要的,而不必浪费时间去点击、页面加载等。。