这是我的代码:
如果您在www.example.com/page.html#example-name1
没有先加载页面的情况下导航到,它将显示整个页面而不是请求的内容。
但是,如果您在页面加载后导航到链接,它将起作用并显示所需的内容。
这很奇怪。有人可以解决这个问题吗?
这是我的代码:
如果您在www.example.com/page.html#example-name1
没有先加载页面的情况下导航到,它将显示整个页面而不是请求的内容。
但是,如果您在页面加载后导航到链接,它将起作用并显示所需的内容。
这很奇怪。有人可以解决这个问题吗?
你应该检查哈希onload
和onhashchange
// On page load
$(document).ready(function(){
// When the hash (#something) changes
window.onhashchange = function() {
doAction();
};
doAction();
function doAction() {
// get the current hash minus '#'
var profileId = window.location.hash.substr(1);
if(profileId != '') {
// hide all profiles
$('.profile').hide();
// show only the appropriate profile
$('#' + profileId).show();
}
}
});
我相对确定您无法在 jsfiddle 上显示该功能,但是,如果您在正确的页面上,则 url 栏中的 page.html#example-name1 应该会产生您想要显示的功能。然而,为了使其在正确的页面上工作,您必须按照 aboodred1 对您的代码的建议进行操作。即,在 hashchange 上运行代码。这是为了确保在更改 url 时,它会显示该特定内容。