Javascript 使用hashtags
让我们认为我们的URL看起来像 www.domain.com#CourseID#LessonID 我想做的是,当: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) 包含两个标签-
单击当前urlCourseDivButton
- 没有hashtag(www.domain.com),只需添加
作为hashtag(www.domain.com#CourseID)$(this).data(“id”)
- 只包含第一个标签-
(www.domain.com#CourseID),然后更改它(www.domain.com#NEWCourseID)CourseID
- 包含两个标签-
和CourseID
(www.domain.com#CourseID#LessonID),然后删除第二个标签并首先更改(www.domain.com#NEWCourseID)LessonID
- 没有hashtag(www.domain.com),只需添加
单击当前urlLessonDivButton
- 只包含第一个标签-
(www.domain.com#CourseID),然后添加第二个标签(www.domain.com#CourseID#LessonID)CourseID
- 包含两个标签-
和CourseID
(www.domain.com#CourseID#LessonID),然后更改第二个标签,保留第一个标签(www.domain.com#CourseID#NEWLessonID)LessonID
- 只包含第一个标签-
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,与其他人共享并得到你想要的,而不必浪费时间去点击、页面加载等。。