Javascript 静态HTML页面、客户端缓存和传递参数
我正在构建一个相当大的移动应用程序,它目前构建在jQuery mobile和KnockoutJS之上。我的第一种方法大量使用单页应用程序设计,并通过Knockout和ajax调用加载所有动态内容和数据。这工作正常,但随着jquerymobile越来越多地加载到DOM中,维护和开发变得非常复杂 我想知道是否可以转移到更传统的、单独的HTML页面,这些页面完全是静态的,同时仍然通过Knockout和ajax加载数据。这将允许浏览器缓存应用程序的最大部分:HTML页面 问题: 如何在不创建禁止客户端浏览器缓存的唯一URL的情况下,最好地在页面之间传递参数我希望浏览器积极缓存页面。 我意识到我可以实现各种服务器端缓存,但这不是我的目标Javascript 静态HTML页面、客户端缓存和传递参数,javascript,html,asp.net-mvc,jquery-mobile,knockout.js,Javascript,Html,Asp.net Mvc,Jquery Mobile,Knockout.js,我正在构建一个相当大的移动应用程序,它目前构建在jQuery mobile和KnockoutJS之上。我的第一种方法大量使用单页应用程序设计,并通过Knockout和ajax调用加载所有动态内容和数据。这工作正常,但随着jquerymobile越来越多地加载到DOM中,维护和开发变得非常复杂 我想知道是否可以转移到更传统的、单独的HTML页面,这些页面完全是静态的,同时仍然通过Knockout和ajax加载数据。这将允许浏览器缓存应用程序的最大部分:HTML页面 问题: 如何在不创建禁止客户端浏
/Display/3
和/Display/5
是同一页。浏览器会将这些缓存为一个吗
我想知道在散列标记之后传递参数是什么<代码>/Display#3和/Display#5
?在全局名称空间中通过JavaScript传递参数怎么样
希望这里有一个标准方法。您可以尝试html5会话存储/localStorage。如果html5是一个问题,那么就不要使用普通的旧cookie。
澄清一下,如果有几个HTML页面,每个页面都必须有自己的URL。好的,很抱歉误解,但我认为您的方法是错误的。您不能以这种方式使用GET参数,而且JQueryMobile在AJAX的url处理中有点混乱 通常,如果使用AJAX刷新内容,则不需要重新加载页面。因此,您不需要缓存,因为页面已经存在,只有一些内容通过AJAX重新加载。但JQM的单页方法不适用于以这种方式创建的动态内容。您只能动态创建包含所有内容的页面,JQM通过切换可见性来显示内容。然后可以使用#在页面之间切换(不强制重新加载,如用于侧边导航)
您可以编写自己的加载函数来调用按钮和链接(而不是使用URL GET参数)。通过将JQuery的$.ajax方法与数据类型“html”(而不是json,默认值)结合使用,您可以在其成功处理程序中进行内容刷新。我有
page.html
,但需要传递一个参数,该参数最终会命中我的JavaScriptpage.html?id=1
和page.html?id=3
都是相同的页面,我希望浏览器只缓存page.html
。我不想添加参数来创建两个唯一的页面。