gpt4 book ai didi

jQuery Mobile 多页面模板请求错误页面

转载 作者:行者123 更新时间:2023-12-01 08:20:20 25 4
gpt4 key购买 nike

我已经使用 jQuery 和 jQuery mobile 几个星期了。我有一个非常简单的例子,它似乎表明了一个非常讨厌的 jQuery 移动错误,所以我想看看我正在做的事情是否是错误的。

发生的情况是我有一个页面(称为index2.html)作为主页。然后我有第二个页面 (dc2.html),这是 web 应用程序的主要功能所在。 dc2.html是一个多页面模板;即它包含两个声明 data-role="page"的 div。正如您可能猜到的,在 dc2.html 中,我提供了从第一个“page”div 到第二个“page”div 的链接,反之亦然。

如果我直接在浏览器中手动输入 dc2.html 的 URL,则此交互可以正常工作。但是,如果我从 index2.html 开始并按照其链接到达 dc2.html,然后单击/点击该链接以加载第二个 'data-role="page"' div,浏览器则会对 index2 进行网络调用.html 并再次加载!

如果重要的话,URL 类似于 www.XXXX.com/software_utilities/mobile/index2.htmlwww.XXXX.com/software_utilities/mobile/dc2.html,因此它们位于嵌套文件夹中,尽管两者都位于同一嵌套文件夹中。

这是index2.html的代码(当然,精简到演示此问题的基本内容):

<!DOCTYPE html>
<html>
<head>
<title>Page Title</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.0rc1/jquery.mobile-1.0rc1.min.css" />
<script type="text/javascript" src="http://code.jquery.com/jquery-1.6.3.min.js"></script>
<script type="text/javascript" src="http://code.jquery.com/mobile/1.0rc1/jquery.mobile-1.0rc1.min.js"></script>
</head>
<body>

<!-- Start of first page -->
<div data-role="page">

<div data-role="header">
<h1>Utilities</h1>
</div><!-- /header -->

<div data-role="content">
<ul data-role="listview" data-inset="true" data-theme="d">
<li><a href="/software_utilities/mobile/dc2.html">DC</a></li>
</ul>
</div><!-- /content -->

</div><!-- /page -->
</body>
</html>

以及 dc2.html 的代码:

<!DOCTYPE html>
<html>
<head>
<title>Date Format</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.0rc1/jquery.mobile-1.0rc1.min.css" />
<script type="text/javascript" src="http://code.jquery.com/jquery-1.6.3.min.js"> </script>
<script type="text/javascript" src="http://code.jquery.com/mobile/1.0rc1/jquery.mobile-1.0rc1.min.js"></script>
</head>
<body>

<!-- Start of main page -->
<div data-role="page" id="main">
<div data-role="header">
<a href="index2.html" data-direction="reverse" data-role="button" data-inline="true">Home</a> <h1>Page One</h1>
</div><!-- /header -->

<div data-role="content">
<a href="#page_two">Click/tap me to go to page 2</a>
</div><!-- /main content -->
</div><!-- /main page -->

<div data-role="page" id="page_two">
<div data-role="header">
<a href="#main" data-direction="reverse" data-role="button" data-inline="true">Back</a> <h1>Page Two</h1>
</div><!-- /header -->
</div><!-- /dateformat page -->

</body>

</html>

任何见解将不胜感激;谢谢!

最佳答案

我还没有尝试过您正在使用的流程,但我相信当您单击 dc2.html 页面的 index2.html 上的链接时,只有第一个 <div data-role="page">正在被添加到 DOM 中。因此,当您单击 dc2.html 中第二个伪页面的链接时,它在 DOM 中不存在(即不存在 id 为“page_two”的 div)。

尝试将所有三页放入一个文件中或将它们拆分为单独的文件。您还可以添加rel="external"到 index2.html 上的链接,这将禁用 AJAX 导航(和页面转换动画),但浏览器随后将加载 dc2.html 上的两个伪页面。

关于jQuery Mobile 多页面模板请求错误页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7733044/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com