在 location.hash 上从 url 中取出#
taking the # out of url on location.hash
function updateView(category) {
console.log( window.location.hash );
if (location.hash !== ""){
//convert #3 to 3.
//load video based on id
//myArray[sanitizedHash];
} else {
updateCategoryLabel(category);
currentList = updateVideosList(category);
chooseRandomVideoFromList();
}
}
此函数在页面加载时加载
如何在该函数内部进行解析,以便从 URL 中取出 location.hash 的“#”?
简而言之,我正在努力实现 www.mysite.com/3 与 www.mysite.com/#3
提前致谢!
编辑:我应该补充一点,'else' 基本上是随机加载页面而不是直接 url。此 if 语句将 运行 在页面加载时检查哈希是否存在,否则它将像往常一样随机化。
你可以获取window.location.hash
然后用空字符串替换#
if (location.hash !== ""){
var sanitizedHash = window.location.hash.replace("#", "");
//load video based on id
//myArray[sanitizedHash];
}
将 URL 从 'www.mysite.com/#3' 更改为 'www.mysite.com/3' 将导致浏览器导航到新的 URL,因为 www.mysite。com/3与 www.mysite.com/#whatever.
的页面不同
如果你只想要一个字符串的第一个字符的散列修剪尝试:
window.location.hash.substr(1)
如果您的目标不是触发页面加载,您可以使用 HTML5 历史记录 API 将 URL 从 www.mysite.com/#3 更改为 www.mysite.com/3 那样:
var id = location.hash.substr(1);
history.replaceState({id:id}, id, id);
请注意,使用了 replaceState,否则用户可以按浏览器的后退按钮并返回到 #3。如果你想允许,用 pushState 替换 replaceState。希望对您有所帮助。
function updateView(category) {
console.log( window.location.hash );
if (location.hash !== ""){
//convert #3 to 3.
//load video based on id
//myArray[sanitizedHash];
} else {
updateCategoryLabel(category);
currentList = updateVideosList(category);
chooseRandomVideoFromList();
}
}
此函数在页面加载时加载
如何在该函数内部进行解析,以便从 URL 中取出 location.hash 的“#”?
简而言之,我正在努力实现 www.mysite.com/3 与 www.mysite.com/#3
提前致谢!
编辑:我应该补充一点,'else' 基本上是随机加载页面而不是直接 url。此 if 语句将 运行 在页面加载时检查哈希是否存在,否则它将像往常一样随机化。
你可以获取window.location.hash
然后用空字符串替换#
if (location.hash !== ""){
var sanitizedHash = window.location.hash.replace("#", "");
//load video based on id
//myArray[sanitizedHash];
}
将 URL 从 'www.mysite.com/#3' 更改为 'www.mysite.com/3' 将导致浏览器导航到新的 URL,因为 www.mysite。com/3与 www.mysite.com/#whatever.
的页面不同如果你只想要一个字符串的第一个字符的散列修剪尝试:
window.location.hash.substr(1)
如果您的目标不是触发页面加载,您可以使用 HTML5 历史记录 API 将 URL 从 www.mysite.com/#3 更改为 www.mysite.com/3 那样:
var id = location.hash.substr(1);
history.replaceState({id:id}, id, id);
请注意,使用了 replaceState,否则用户可以按浏览器的后退按钮并返回到 #3。如果你想允许,用 pushState 替换 replaceState。希望对您有所帮助。