jquery mobile保留固定内容并仅加载内容

jquery mobile保留固定内容并仅加载内容,jquery,mobile,jquery-mobile,Jquery,Mobile,Jquery Mobile,我有一个页面的布局是固定的(即页眉,页脚,导航等)。jquerymobile在通过ajax加载方面做得很好,但它会重新加载整个页面,理想情况下我只想加载内容区域 我以为添加一个带有data role=“page”的div会告诉jquery刷新哪个内容区域,但这似乎没什么作用,只是充当了历史的存储容器 我在文档中找不到设置哪个div应该是容器的属性。可以简单地完成吗?对您的问题有两个答案: 1) 可以在一个HTML页面中加载多个“页面”,这是web应用程序的理想选择。页面div被分配了一个id,然

我有一个页面的布局是固定的(即页眉,页脚,导航等)。jquerymobile在通过ajax加载方面做得很好,但它会重新加载整个页面,理想情况下我只想加载内容区域

我以为添加一个带有data role=“page”的div会告诉jquery刷新哪个内容区域,但这似乎没什么作用,只是充当了历史的存储容器


我在文档中找不到设置哪个div应该是容器的属性。可以简单地完成吗?

对您的问题有两个答案:

1) 可以在一个HTML页面中加载多个“页面”,这是web应用程序的理想选择。页面div被分配了一个id,然后您可以在页面之间来回跳转,而不必返回服务器。您可以删除附加页面div上的页眉和页脚……或者保持不变,不使用页面转换

或 2) 使用JQuery来更新div。这也很容易,因为JQuery Mobile已经在其脚本引用中使用了JQuery

<script> 
function loadcontent() { 
var strNewHtml;
strNewHtml = '<p>My New Text</p>';
$('#my-content-id-name').html(strNewHtml);
}
</script>
 add a link:  <a href = "#" onclick="loadcontent();">Click here</a>   

函数loadcontent(){
var-strNewHtml;
strNewHtml='我的新文本

'; $(“#我的内容id名称”).html(strNewHtml); } 添加链接:

…这就够了

您的问题有两个答案:

1) 可以在一个HTML页面中加载多个“页面”,这是web应用程序的理想选择。页面div被分配了一个id,然后您可以在页面之间来回跳转,而不必返回服务器。您可以删除附加页面div上的页眉和页脚……或者保持不变,不使用页面转换

或 2) 使用JQuery来更新div。这也很容易,因为JQuery Mobile已经在其脚本引用中使用了JQuery

<script> 
function loadcontent() { 
var strNewHtml;
strNewHtml = '<p>My New Text</p>';
$('#my-content-id-name').html(strNewHtml);
}
</script>
 add a link:  <a href = "#" onclick="loadcontent();">Click here</a>   

函数loadcontent(){
var-strNewHtml;
strNewHtml='我的新文本

'; $(“#我的内容id名称”).html(strNewHtml); } 添加链接:
…这就够了

根据您的想法“…理想情况下,我只希望加载内容区域”。创建页面的“最佳实践”是确保您包含页面运行所需的所有内容。这意味着它应该包括任何页眉、页脚和链接到jquery和jquery移动库和资产的内容。这是一个很好的理由

从候选版本2开始(最迟在本文撰写时),系统将使用URL重写来清除地址栏中显示的URL。这允许更容易地查看源代码,更容易地添加书签,以及在刷新时(任何人都可以随时这样做,相信我,他们会这样做)。页面将从刷新加载到最新页面,而不加载您认为是初始页面的内容。如果出现上述情况,将导致页面没有页眉、页脚、导航等

确保每个页面都可以独立运行还可以确保,如果您的用户使用的是一些公司控制的设备,而他们的安全策略迫使他们关闭JavaScript,那么他们仍然可以以页面的基本形式查看页面(没有ajax,没有虚饰),并且仍然可以完成他们需要的工作。以这种方式书写页面也可以让那些陷入手机石器时代(功能手机或翻盖手机)的人们真正使用你的页面。在这两种情况下都可能不太好,但它会起作用,这是最重要的

根据您的想法“…理想情况下,我只希望加载内容区域”。创建页面的“最佳实践”是确保您包含页面运行所需的所有内容。这意味着它应该包括任何页眉、页脚和链接到jquery和jquery移动库和资产的内容。这是一个很好的理由

从候选版本2开始(最迟在本文撰写时),系统将使用URL重写来清除地址栏中显示的URL。这允许更容易地查看源代码,更容易地添加书签,以及在刷新时(任何人都可以随时这样做,相信我,他们会这样做)。页面将从刷新加载到最新页面,而不加载您认为是初始页面的内容。如果出现上述情况,将导致页面没有页眉、页脚、导航等


确保每个页面都可以独立运行还可以确保,如果您的用户使用的是一些公司控制的设备,而他们的安全策略迫使他们关闭JavaScript,那么他们仍然可以以页面的基本形式查看页面(没有ajax,没有虚饰),并且仍然可以完成他们需要的工作。以这种方式书写页面也可以让那些陷入手机石器时代(功能手机或翻盖手机)的人们真正使用你的页面。在这两种情况下都可能不太好,但它会起作用,这是最重要的

您可能需要查看.trigger('create')jQM函数或某些表单元素也有一个刷新方法,如.listview('refresh')。您可能需要查看.trigger('create')jQM函数或某些表单元素也有一个刷新方法,如.listview('refresh')。我完全同意-我的系统已经正确处理了这一点;如果请求是ajax,则只返回内容,否则返回完整布局。Ashley,这可能是一个很好的解决方案,但您需要注意页面缓存时间。如果ajax版本和完整请求的URL相同,那么您将面临缓存命中的风险(通常是一件好事)。如果页面首先由ajax请求,并且不包含页眉、页脚等,然后在缓存中的页面过期之前请求页面已满,则将向用户显示缓存的非完整页面。小心“过早优化”。如果您使用gzip压缩,那么删除额外部分的性能增益将完全可以忽略。我完全同意-我的系统已经正确处理了这一点;如果请求