0

早些时候我遇到了 jQuery 的问题,似乎我有同样的问题,只是这次是 CSS 而不是 JavaScript:为什么我必须刷新我的页面才能使 javascript 函数工作?

从一个页面转换到另一个页面时,不会应用目标页面上的自定义 css 属性。我必须刷新页面才能应用它们。

我尝试绑定,pageinit但它不起作用。

我该怎么做才能停止这种胡说八道,所以我不会第三次回到这里。?

我对此感到厌倦,它让我放慢了速度。

谢谢。

编辑:

rel="external"在原始页面中使用它并且它有效。你能解释一下为什么:

<a href="page2.php?c=x" rel="external">Page2</a>`

session.header.php(模板文件)

<!DOCTYPE html> 
<html> 
<head> 
<title>{$TITLE}</title> 
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/>
<link rel="stylesheet"  href="http://code.jquery.com/mobile/1.1.1/jquery.mobile-1.1.1.min.css" media="all" />
<!-- Custom css -->
<link rel="stylesheet" href="jquery.mobile.custom/jqm-icon-pack-2.1.2-fa.css" media="all" />
<!-- Javascript includes -->
<script src="http://code.jquery.com/jquery-1.7.2.min.js"></script>
<script src="http://code.jquery.com/mobile/1.1.1/jquery.mobile-1.1.1.min.js"></script>
<script src="events.js" type="text/javascript"></script>
<style>
#td-menu
{
padding-left:75px;  
}
</style>
</head> 
<body> 
<div data-role="page" id="page1" style="background-color:#FFF">
<div align="center"><img src="images/logo.png" alt="logo" width="230" height="123" /></div>
<div data-role="header" data-position="inline">
<div data-role="navbar">
<ul>
<li><a href="index.php" data-role="button" data-ajax="false" data-theme="b">Home</a></li>
</ul>
</div>
</div>

如果我访问在此模板文件上运行的页面,则不会应用内联 CSS。如果我在地址框中键入 URL 或刷新页面(来自另一个页面之后),它会应用 CSS。

但就目前而言,它似乎适用于rel="external",我不知道如何。

4

1 回答 1

0

您是否使用相同的文件名?如果是这样,它可能已被缓存,因此不会刷新。

您可以通过在 url 中添加一些无用的变量来“欺骗”浏览器:

<link rel="stylesheet" href="/screen.css?v=001">

然后在第 2 页上,您将?v=001更改为?v=002等。您还可以使其随机(使用 php)强制浏览器从不缓存它:

<link rel="stylesheet" href="/screen.css?v=<?=rand(0,1000);?>">

但是会增加加载时间。

如果不是这种情况,请发布您的代码;-)

于 2012-09-22T09:49:57.563 回答