为什么我的 Jquery 移动 Web 应用程序在刷新页面时会丢失其自定义主题

本文关键字:自定义 移动 Jquery 我的 Web 应用程序 刷新 为什么 | 更新日期: 2023-09-27 18:21:22

我正在编写一个C# .Net MVC移动Web应用程序,其中包含使用jQuery Mobile Themeroller构建的自定义主题。 主题工作正常,直到我按 F5,单击浏览器刷新按钮,或执行任何其他刷新操作。 刷新后,页面将丢失自定义主题并返回默认的 jQuery Mobile css。我只能在主页上刷新 Web 应用程序而不会丢失主题。

我已经读过这篇短文,但我不确定它是否相同。我可以看到这将如何在 ajax 调用完成后修复样式,但是刷新问题呢? 我的意思是,如果我只是在启用 JQM 的页面上点击"刷新"或 F5,它会丢失我所有的自定义主题(来自主题滚动体(。

这可能是因为 JQM 在第一页添加base元素的方式吗? 我不确定如何确认这一点。我不应该在每个文档就绪事件中都调用$('#mypage').trigger('create');,对吗?

我感谢任何回应。我很想发布一个 jsfiddle,但在使用自定义主题时很困难。

更新

<meta name="viewport" content="width=device-width, initial-scale=1" /> 
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.0/jquery.mobile-1.0.min.css" />
<link rel="stylesheet" href="Content/stylesheets/mobilere.min.css" />
<link rel="stylesheet" href="Content/stylesheets/main.css" />
<script type="text/javascript" src="http://code.jquery.com/jquery-1.6.4.min.js"></script>
<script type="text/javascript" src="http://code.jquery.com/mobile/1.0/jquery.mobile-1.0.min.js"></script>

这是我head块中的所有内容 - mobilere.min.css是我的主题样式表。

我目前没有 dom ready 事件设置,因为我想避免在每个页面上触发刷新。

为什么我的 Jquery 移动 Web 应用程序在刷新页面时会丢失其自定义主题

  1. 您需要将从页面的<head>部分发布的代码放在网站中每个页面的<head>部分中,因此如果用户在任何页面上刷新浏览器,则可以访问该页面。这在正常浏览网站时不会产生太多开销,因为 jQuery Mobile 只拉入页面上的第一个data-role="page"元素并将其添加到当前 DOM。

  2. 您应该使用样式表的绝对路径,以便无论页面的基本 url 是什么,都可以找到它们。

在站点注释上,$('#mypage').trigger('create');用于将正确的类和HTML结构添加到页面小部件中,而不是更改样式表。