我是jQuery mobile的新手,这个问题困扰了我。
我编辑了我的应用,根据用户到达的子域动态创建项目。它抓取子域,查找与该子域关联的客户端记录,并更改页面标题和apple-touch-icons。
以下是代码:
<meta name="viewport" content="width=device-width, initial-scale=1">
<? if ( empty($clientDomain) ) { ?>
<title>AAA takein</title>
<link rel="apple-touch-icon" sizes="57x57" href="<? echo( IMAGES ); ?>apple-icon-57x57.jpg" />
<link rel="apple-touch-icon" sizes="72x72" href="<? echo( IMAGES ); ?>apple-icon-72x72.jpg" />
<link rel="apple-touch-icon" sizes="114x114" href="<? echo( IMAGES ); ?>apple-icon-114x114.jpg" />
<link rel="apple-touch-icon" sizes="144x144" href="<? echo( IMAGES ); ?>apple-icon-144x144.jpg" />
<? } else { ?>
<title><? echo( $_SESSION["rName"] ); ?></title>
<link rel="apple-touch-icon" sizes="57x57" href="<? echo( IMAGES ); echo($_SESSION["image"]); ?>" />
<link rel="apple-touch-icon" sizes="72x72" href="<? echo( IMAGES ); echo($_SESSION["image"]); ?>" />
<link rel="apple-touch-icon" sizes="114x114" href="<? echo( IMAGES ); echo($_SESSION["image"]); ?>" />
<link rel="apple-touch-icon" sizes="144x144" href="<? echo( IMAGES ); echo($_SESSION["image"]); ?>" />
<? }; ?>
<link rel="stylesheet" href="<? echo( CSSURL ); ?>themes/foodie.css" />
<link rel="stylesheet" href="<? echo( CSSURL ); ?>foodie.css" />
<link rel="stylesheet" href="<? echo( CSSURL ); ?>themes/jquery.mobile.icons.min.css" />
<link rel="stylesheet" href="<? echo( JQMOBILE ); ?>jquery.mobile.structure-1.4.5.min.css" />
<script src="<? echo( JQ1 ); ?>"></script>
<script src="<? echo( JQMOBILE ); ?>jquery.mobile-1.4.5.min.js"></script>
<link rel="stylesheet" href="<? echo( CSS ); ?>">
<script src="<? echo( JS ); ?>"></script>
当我查看页面时,它会按预期加载。但是,几乎立刻它似乎重新加载页面(或者可能只是头部项目),我认为必须是一个缓存页面。
我的页面标题更改为“ZZZ TakeIn” - 这是该页面的先前版本。
我已清除浏览器缓存。我已经关闭了jQuery缓存 - 但是,如果我的理解在v 1.4.5中是正确的,那么无论如何。
我已尝试过各种脚本来停止首页缓存,但无济于事。它必须来自某个地方的缓存版本,因为我已经尝试过对这些标记进行评论,但它仍然会出现旧版本。
感激不尽的任何帮助。
答案 0 :(得分:0)
您可以使用html元标记或.htaccess来阻止缓存。
http://www.askapache.com/htaccess/using-http-headers-with-htaccess.html#100_Prevent_Files_cached