我目前无法通过jQuery根据标头加载页面!
最初,当我通过.click加载页面时,我将标题更改为#/Pathname
。现在我的问题出现了,而不是个人不得不经常访问主页然后点击一个按钮,导致pathname
我希望他们能够直接进入www.example.com/main.php#/Pathname
并让jQuery能够加载页面......这可能吗?
我试过这段代码,但没有运气:
if (document.location.pathname == "main.php#/Home") {
$('#content').load('home.php', function( response, status, xhr ) {
if ( status == "error" ) {
var msg = "Sorry but there was an error: ";
$( "#error" ).html( msg + xhr.status + " " + xhr.statusText );
}
});
}
为了我自己的目的,忽略错误脚本!
答案 0 :(得分:1)
我认为你正在努力管理"州"页面。
我强烈建议您查看 window.history.pushState ,以帮助您正确重写网页的URI,同时管理正确的历史记录会话。
推动一个州:
window.history.pushState("","",URI );
到popState
window.addEventListener(' popstate',function(event){
your code here to manage event history
});
此外,您也无法分配您的URI。 我使用该函数进行uri解析和检查,因为我的页面有参数,例如?id = ...& name =
function getUrlParameter( name )
{
name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
var regexS = "[\\?&]"+name+"=([^&#]*)";
var regex = new RegExp( regexS );
var results = regex.exec( window.location.href );
if( results == null )
return null;
else
return results[1];
}
所以在你的情况下,我' d:
window.history.pushState("","",URI + "?page=home);
并测试我是否有家的位置:=> getUrlParameter("home")
您是否使用#/强制性页面格式化? 如果没有,请使用我引用的代码类型,以便您管理正确的历史记录,goback等。
如果是,我们会考虑另一种解决方案。
如果这不完全回答您的问题,那么请提供更多信息,这是不回复的。 好运
---编辑
function getUrlParameter( name )
{
name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
var regexS = "[\\#/]"+name+"=([^&#]*)";
var regex = new RegExp( regexS );
var results = regex.exec( window.location.href );
if( results == null )
return null;
else
return results[1];
}