Javascript 如何使用jQuery保留加载时url的-部分?
我使用jQuery将html加载到名为right body的div中:Javascript 如何使用jQuery保留加载时url的-部分?,javascript,jquery,html,url,Javascript,Jquery,Html,Url,我使用jQuery将html加载到名为right body的div中: $("#right-body").load( "views/" + $(this).attr("page")+ ".html"); 这将重新加载整个页面。因此,我丢失了url的哈希。我怎样才能保留杂烩 我尝试在重新加载后通过以下方式重置它: var hash = window.location.hash; $("#right-body").load( "views/" + $(this).attr("page")+ ".h
$("#right-body").load( "views/" + $(this).attr("page")+ ".html");
这将重新加载整个页面。因此,我丢失了url的哈希。我怎样才能保留杂烩
我尝试在重新加载后通过以下方式重置它:
var hash = window.location.hash;
$("#right-body").load( "views/" + $(this).attr("page")+ ".html");
window.location.hash = hash;
但它不起作用。window.location.hash=散列;似乎是无效的
谢谢大家! 如果在执行.load之后重新加载页面,则哈希值将重置为未定义 您可以使用本地或会话存储,而不是将其存储在变量中,并在页面重新加载后检索哈希。通过将window.location.hash=hash;作为回拨。 . 可能不是最好的解决方案,但是你可以看到url从flash到myhashparams
$("#right-body").load( "views/" + $(this).attr("page")+ ".html", () => {
window.location.hash = hash;
});
试试这个:
if(typeof page === "undefined"){
var page = "";
}
if(page !== ""){
page = "views/" + $(this).attr("page")+ ".html";
}
$("#right-body").load(page);
注意!
我不建议使用id,因为它会重复一次又一次。因此,您需要更改子页面的id。
如果它不起作用,告诉我 您正在一次又一次地尝试在一个页面中加载一个页面,对吗?@AndyNopparatAndyNopeBui我在主/母页面上有一个下拉菜单,它会导致jQuery加载到右主体中。所以,如果这就是你反复强调的意思,那么是的。$right-body.load views/+$this.attrpage+.html+散列