为什么在 jQuery 移动设备的第二页中没有加载样式?

Why aren't styles loading in second page in jQuery mobile?

以下是 mywebsite/index.php 的部分截图,PC 站点没有 jQuery Mobile (JQM),有所有脚本和样式。

mywebsite/mobile/options.php 的屏幕截图下方,一个设计为 运行 在移动浏览器上具有 JQM 的页面。

这是 注销 按钮的 HTML 脚本,实际上是一个 ahchor 标签:

<a href="../logout.php" data-role="button" data-mini="true" data-icon="delete" data-inline="true" data-ajax="false">Logout</a>

..指移动文件夹中的主mywebsite文件夹。

当我tap/click注销时,应该会去mywebsite/index.php,个人电脑网站。显示的内容如下:

如果我使用 alert(document.location); 显示位置,它会显示 - mywebsite/mobile/options.php

我必须按 F5 才能正常查看页面。

我知道发生这种情况是因为 JQM 以 AJAX 方式加载页面,因此忽略了 BODY 标记之外的所有脚本和样式表。我知道这个问题与 Whosebug 中的许多问题重复,我已尽力找到解决方案,但找不到。

如何移动到 index.php 而无需刷新?

您需要在 logout.php 文件中添加额外的代码,以便在注销代码执行后执行。 PHP headers 可以做到这一点。在您的 PHP 标签中,将此添加到您的代码末尾:

header('Location: http://mywebsite/index.php');