好的,jquery mobile的大学新任务
我使用ajax调用从外部cms中提取数据。因为它使用ajax调用动态插入主屏幕的按钮,并创建和链接到这些按钮的相关页面....我的问题是当我刷新子页面例如资格它自动带我回家。 ..我在ajax调用中有#home.trigger(pagecreate),否则我的按钮不会呈现为正确的按钮而不仅仅是链接......
我认为在刷新子页面时整个index.html会刷新,因此页面创建会再次触发...让我回家...但是网址仍指向#qualifications ...如果我导航到该应用程序的另一部分,并点击后退按钮(data-rel =“后退”)它尝试将我返回到#qualifications页面,即使显示的最后一页是主页...并且最终根本没有呈现任何页面....
我如何设置一个函数来捕获刷新...导航回上一页(从浏览器历史记录)并页面创建正确的页面......?
如果问题很复杂,我很抱歉...第一次发帖!从技术上讲,我的意思是成为项目中的图形人......:) 总的来说,我试图使用ajax调用来动态构建整个站点...var nextpage []用于创建url ajax调用cms中的下一级别...任何更聪明的方式?
$.ajax(
{
url: "http://myurl/api/list",
type: 'get',
dataType: 'jsonp',
success: function(data)
{
if(data.result == 'success')
{
var homepage=$('<div id="home" data-role="page" data-title="myguide : Home" data-theme="b">'
+'<div data-role="header" data-position="fixed">'
+'<h1>Home</h1></div>'
+'<div id="logo">'
+'<img src="images/iiiguide_logo.png"/></div>');
homepage.appendTo($.mobile.pageContainer);
$.mobile.changePage( homepage );
var pages=[];
var nextpage=[];
$.each(data.data,function(key,val)
{
var homebuttons=['<a href="#'+ val.label.replace(/\s/g, "")
+'" data-role="button" data-icon="arrow-r"'
+'data-iconpos="right">'+val.label+'</a>'];
$('#home').append(homebuttons);
var pages=$('<div id="'+ val.label.replace(/\s/g, "") + '"'
+'data-role="page" data-title="myguide :'+val.label.replace(/\s/g, "") + '" data-theme="b">'
+'<div data-role="header" data-position="fixed">'
+'<a href="#home" data-icon="home">Home</a>'
+'<a href="#" data-icon="back" data-rel="back" >Back</a>'
+'<h1>'+ val.label.replace(/\s/g, "") +'</h1></div>'
+'<div id="logo">'
+'<img src="images/iiiguide_logo.png"/></div></div>');
pages.appendTo($.mobile.pageContainer);
nextpage.push('http://myurl/api/list?category_id='+val.id);
});
$('#home').trigger("pagecreate");
}
}
});