javascript - 使用jquery mobile和phonegap的应用程序的页面转换

标签 javascript android html cordova

我正在 html/css/javascript 中构建一个应用程序并使用phonegap 来构建。

所以,我首先想要简单的页面到页面导航。我尝试过这个:

索引:

<!DOCTYPE HTML>
<html>

<head>
    <meta name="viewport" content="width=device-width, initial-scale=1"> 
    <link rel="stylesheet" href="jquery.mobile-1.2.0/jquery.mobile-1.2.0.min.css" />
    <script src="jquery-1.8.2.js"></script>
    <script src="jquery.mobile-1.2.0/jquery.mobile-1.2.0.js"></script>
</head>

<body id="body">
    <div id="container" data-role="page">
        <a rel="external" data-role="button" href="test.html" data-transition="slide">click me</a>
    </div>

</body>

</html>

测试.html:

<!DOCTYPE HTML>
<html>

<head>
    <meta name="viewport" content="width=device-width, initial-scale=1"> 
    <link rel="stylesheet" href="jquery.mobile-1.2.0/jquery.mobile-1.2.0.min.css" />
    <script src="jquery-1.8.2.js"></script>
    <script src="jquery.mobile-1.2.0/jquery.mobile-1.2.0.js"></script>
</head>

<body id="body">
    <div id="container" data-role="page">
        New page!
    </div>

</body>

</html>

结果:当我单击按钮时,test.html 页面加载速度非常慢,并且 data-transition="slide"似乎被忽略。

我发现一篇关于动态页面加载的文章:https://www.ibm.com/developerworks/mydeveloperworks/blogs/94e7fded-7162-445e-8ceb-97a2140866a9/entry/dynamic_page_loading_for_phonegap1?lang=en

我真的不明白。 HTML 文件不是存储在本地吗?那么为什么要执行 XMLHtppRequest 呢?

我的问题是:如何获得良好的页面转换(快速且具有效果)?

最佳答案

您应该删除rel="external"来自您的<a>关联。

属性rel="external"禁用 Ajax 导航,跳过过渡效果,并刷新页面 test.html .

删除代码后尝试它。

index.html :

<!DOCTYPE HTML>
<html>

<head>
    <meta name="viewport" content="width=device-width, initial-scale=1"> 
    <link rel="stylesheet" href="jquery.mobile-1.2.0/jquery.mobile-1.2.0.min.css" />
    <script src="jquery-1.8.2.js"></script>
    <script src="jquery.mobile-1.2.0/jquery.mobile-1.2.0.js"></script>
</head>

<body id="body">
    <div id="container" data-role="page">

        <!-- REMOVE THE ATTRIBUTE REL="EXTERNAL" FROM THE LINK -->
        <a data-role="button" href="test.html" data-transition="slide">click me</a>
    </div>

</body>

</html>


test.html :

<!DOCTYPE HTML>
<html>

<head>
    <meta name="viewport" content="width=device-width, initial-scale=1"> 
    <link rel="stylesheet" href="jquery.mobile-1.2.0/jquery.mobile-1.2.0.min.css" />
    <script src="jquery-1.8.2.js"></script>
    <script src="jquery.mobile-1.2.0/jquery.mobile-1.2.0.js"></script>
</head>

<body id="body">
    <div id="container" data-role="page">
        New page!
    </div>

</body>

</html>

让我知道你的结果。

关于javascript - 使用jquery mobile和phonegap的应用程序的页面转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12892684/

相关文章:

html - 在 Chrome 3d 中旋转一个 div 出现在相邻的 div 后面,但在 firefox 中出现在前面

javascript - 在django模板上定期更改div中的数据

javascript - 从所选选项中获取 href 值并更改按钮的 href

android - 如何制作 "image only" float 操作按钮

android - 如何使用 Dagger 2 向 MyFirebaseMessagingService 提供数据库,以便我可以在 android 中本地存储 fcm 消息

android - 如何在android中使用动态 fragment ?

javascript - 如何在 setTimeout() 函数中使用 $(this) 访问 asp 控件

javascript - 通过特定坐标将 DIV/Span 标签应用于单词

javascript - 创建将收听 Telegram channel 的应用程序

javascript - 如何添加动态创建的文本框的所有值