jQuery mobile在phonegap应用程序中无法正常工作

时间:2015-11-02 22:52:33

标签: android cordova jquery-mobile

出于某种原因,当我构建应用程序并将其放在我的Android上时,Jquery mobile将无法加载但是如果我在模拟器上运行它看起来并且运行良好。请帮我。我需要采取哪些额外步骤才能使其正常工作?



<html>
    <head>
        <meta charset="utf-8" />
        <meta name="format-detection" content="telephone=no" />
        <!-- WARNING: for iOS 7, remove the width=device-width and height=device-height attributes. See https://issues.apache.org/jira/browse/CB-4323 -->
        <meta name="viewport" content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width, height=device-height, target-densitydpi=device-dpi" />
        <script type="text/javascript" src="cordova.js"></script>
        <link rel="stylesheet" href="http://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.css" />
        <script src="http://code.jquery.com/jquery-1.11.1.min.js"></script>
        <script src="http://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.js"></script>
        <style>
            #container
            {
                margin: 8px;
            }
        </style>
        <script>
        var xmlhttp;

        window.onload=function()
        {
            document.addEventListener("deviceready", init, false);
            //init();
        }

        function init()
        {
            document.getElementById('btnHitServer').addEventListener('click', getServer, false);
            xmlhttp = new XMLHttpRequest();
            xmlhttp.onreadystatechange = receiveServer;
        }

        function getServer()
        {
            xmlhttp.open('GET', 'http://app.mafialife.com/?email_debug=1', false);
            xmlhttp.send();
        }

        function receiveServer()
        {
            if(xmlhttp.readyState==4 && xmlhttp.status==200)
            {
                var json = jQuery.parseJSON(xmlhttp.responseText);
               // console.log(json);
                document.getElementById('Server').innerHTML = json.value.joke;
            }
        }

        </script>
        <title>Hit Server</title>
    </head>
    <body>
        <div id="container"></div>
        <h2>Connect To Server</h2>
        <button id="btnHitServer">Hit Server</button>
        <p>Press the button to Connect To Server</p>
        <div id="Server"></div>
    </body>
</html>
&#13;
&#13;
&#13;

1 个答案:

答案 0 :(得分:0)

你应该真正下载JQuery和JQuery mobile的JavaScript和CSS,并将它们作为Cordova项目中的本地资源。然后调整您的和标签以指向本地版本。

在本地不包含这些文件会导致您的应用无法在设备离线时启动和工作,并且会因应用尝试在启动时远程下载这些文件而导致不必要的性能问题。

如果您使用的是Cordova 5,启动时远程加载JS和CSS也可能会在真实设备上停止您的应用,Content Security Policy元标记需要配置为允许远程JS和CSS加载。但是根据我之前的评论,你想在你的www文件夹中的某个地方将这些本地捆绑在一起(比如在css和js子文件夹中,取决于你的项目结构如何)因为远程加载它们不是最好的做法,因为我说的原因