Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用jQuery保留加载时url的-部分?_Javascript_Jquery_Html_Url - Fatal编程技术网

Javascript 如何使用jQuery保留加载时url的-部分?

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

我使用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")+ ".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+散列