2013-05-09 64 views
0

我开始在Eclipse中使用phonegap和dojo编写应用程序。 Phonegap,没有dojo在android模拟器上正常工作,并在涟漪插件镀铬。问题是当我将dojo添加到项目中时。我用phonegap 2.7.0dojo 1.9.0。 我正在使用:http://www.ibm.com/developerworks/web/library/wa-mobappdev1/教程来设置此。dojo mobile phonegap无法正常工作

我怎么设置道场:

enter image description here

index.html文件:

<!DOCTYPE HTML> 
<html> 
    <head> 
     <title>PhoneGap</title> 
     <meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,minimum-scale=1,user-scalable=no"/> 
     <meta name="apple-mobile-web-app-capable" content="yes" /> 
     <link rel="stylesheet" href="libs/dojo/dojox/mobile/themes/android/android.css" type="text/css" media="screen" title="no title" charset="utf-8"/> 
     <script type="text/javascript" src="libs/dojo/dojo/dojo.js" djConfig="parseOnLoad:true"></script> 
     <script type="text/javascript" charset="utf-8" src="cordova-2.7.0.js"></script> 
     <script type="text/javascript" charset="UTF-8" src="funkcja.js"></script> 
     <script type="text/javascript"> 
      dojo.require("dojox.mobile.parser"); 
      dojo.require("dojox.mobile"); 
      dojo.require("dojox.mobile.app"); 
      dojo.require("dojox.mobile.Button"); 
     </script> 
    </head> 
    <body> 
     <div dojoType="dojox.mobile.View" id="site" selected="true"> 
      <h1 dojoType="dojox.mobile.Heading">Index</h1> 
      <div> 
       <input dojoType="dojox.mobile.Button" type="button" id="submit" name="submit" value="Button" onclick="loguj()"/> 
      </div> 
     </div> 
    </body> 
</html> 

在模拟器我得到一个空白屏幕。

在使用涟漪的铬我得到只是没有dojo脚本的HTML。脚本是包括的。在控制台中出现错误:

Console was cleared ripple.js:37 
Ripple :: Environment Warming Up (Tea. Earl Gray. Hot.) ripple.js:37 
Uncaught SyntaxError: Unexpected token u Insertion.js:1 
GET http://localhost/config.xml 404 (Not Found) ripple.js:50 
cordova :: Initialization Finished (Make it so.) ripple.js:37 
GET http://localhost/libs/dojo/dojo/fx/Toggler.js 404 (Not Found) ripple.js:50 
Error {src: "dojoLoader", info: "xhrFailed"} dojo.js:15 
GET http://localhost/cordova_plugins.json 404 (Not Found) ripple.js:50 
Uncaught SyntaxError: Unexpected token < cordova-2.7.0.js:6816 
GET http://localhost/libs/dojo/dojo/resources/blank.gif 404 (Not Found) app.js:15 
deviceready has not fired after 5 seconds. cordova-2.7.0.js:6672 
Channel not fired: onPluginsReady cordova-2.7.0.js:6665 
Channel not fired: onCordovaReady cordova-2.7.0.js:6665 
Channel not fired: onCordovaConnectionReady cordova-2.7.0.js:6665 
deviceready has not fired after 5 seconds. cordova-2.7.0.js:6672 
Channel not fired: onPluginsReady cordova-2.7.0.js:6665 
Channel not fired: onCordovaReady cordova-2.7.0.js:6665 
Channel not fired: onCordovaConnectionReady cordova-2.7.0.js:6665 

回答

0

Dojo试图加载他的js文件,但是不能。我想这个答案可能会为你工作了:

PhoneGap/Cordova 1.6 and dojo 1.7.2 AMD works from web, not from local?

设置的dojo.js的djConfig到djConfig = “异步:假,parseOnLoad:真正的” 道场之前 负荷cordova.js .js!

如果它不起作用&您想开始开发,请尝试从网上使用dojo.js。

+0

我使用,从网上的dojo.js,它仍然无法正常工作。 – user1031034 2013-05-10 08:09:25

+0

您是否尝试在dojo之前加载cordova – 2013-05-10 09:42:45

+0

是的,我试过... – user1031034 2013-05-10 10:29:57

0

只需创建一个cordova_plugins.json文件到www{}里面。

或者,您可以从cordova-2.7.0.js注释掉6395->6415行。

0

我跟着IBM Website相同的教程,它也没有工作。

为了使它工作,我必须做到以下几点:

  1. 删除djConfig="parseOnLoad:true"
  2. 更换

    dojo.require( “dojox.mobile.parser”); dojo.require(“dojox.mobile”); dojo.require(“dojox.mobile.app”); dojo.require(“dojox.mobile.Button”);

有:

require(["dojox/mobile/parser", "dojox/mobile", "dojox/mobile/app", "dojox/mobile/Button", "dojo/domReady!"], 
    function(parser) { 
     parser.parse(); 
    } 
);