我进行了搜索,所有对多页的引用都可能已经很久了,并且是jqm的古老版本,它可能几乎对我有帮助。
为了澄清起见:内部页面是一个页面,位于一个单独的文件中,但位于与我的index.html相同的目录中的同一服务器上。外部页面将托管在不同服务器/域上的单独文件中。
我的目标:我有一个应用程序,该应用程序作为一个多文档页面看上去很胖。它大约有20页(使用div-data-role = page)。我想到将这些页面中的大多数放置到内部页面中(因此,与主index.html页面位于同一位置的单独文件)。
这件作品指导我...
http://demos.jquerymobile.com/1.4.5/navigation-linking-pages/
要启用动画页面过渡,所有指向外部页面的链接(例如products.html)都将通过Ajax加载。为此,框架会分析链接的href以制定Ajax请求(Hijax)并显示加载微调器。所有这些都是由jQuery Mobile自动完成的。
如果Ajax请求成功,则将新页面内容添加到DOM,所有移动窗口小部件都将自动初始化,然后通过页面转换将新页面设置为动画形式。
所以...也许我对jqm中的内部页面有误解-当我期望通过ajax加载页面时,我得到了页面刷新。
我有两个页面,一个index.html页面,该页面具有m1.html的锚点。我希望当我查看index.html并单击m1.html时,该URL会神奇地将div-data-role = page的内容拉到index.html DOM中,并给我一个类似于index的URL .html#m1
相反,当我单击m1链接时,页面刷新并且URL更改为m1.html。
有人可以澄清我的(误)理解吗?
index.html
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta name="format-detection" content="telephone=no" />
<meta name="viewport" content="user-scalable=no, initial-scale=1, width=device-width" />
<link href="/css/jquery.mobile-1.4.5.min.css" rel="stylesheet" type="text/css"/>
<link href="/css/jquery.mobile.icons.min.css" rel="stylesheet" type="text/css"/>
<script src="/jq/jquery-2.1.4.min.js" type="text/javascript"></script>
<script src="/jq/jquery.mobile-1.4.5.min.js" type="text/javascript"></script>
<title>My App</title>
</head>
<body>
<form>
<div data-role="page" id="Menu">
<div data-role="header" data-position="fixed" class="ui-title center">
Main PAGE
</div>
<div id="MainContent">
<ul data-role="listview">
<li><a href="m1.html">m1</a></li>
</ul>
</div>
</div>
</form>
</body>
</html>
m1.html
<div data-role="page" id="m1">
<div data-role="header" data-position="fixed" class="ui-title center"> ONE
</div>
<div id="MainContent">
<h1>one</h1>
<ul data-role="listview">
<li><a href="#Menu">Menu</a></li>
</ul>
</div>
</div>
删除rel="external"
链接上的。这告诉jQM在加载页面时不要使用AJAX。
在此处查看更多信息:http : //demos.jquerymobile.com/1.4.5/navigation-linking-pages/
指向其他域的链接或具有rel =“ external”,data-ajax =“ false”或目标属性的链接将不会随Ajax一起加载。而是,这些链接将导致整页刷新而没有动画过渡。这两个属性(rel =“ external”和data-ajax =“ false”)的作用相同,但语义不同:链接到另一个站点或域时应使用rel =“ external”,而data-ajax =“ false”对于仅选择不通过Ajax加载您域中的页面非常有用。由于安全性限制,该框架始终选择Ajax行为以外的外部域链接。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句