1

わかりましたので、私は道場にかなり慣れていないので、非常に単純なサンプル モバイル アプリを作成しようとしています。Androidエミュレーターを使用してアプリをインストール/実行するコードを実行するためにEclipseを使用しています。私が抱えている問題は、「require is not defined」または「dojo is not defined」の Uncaught Reference Errors が発生し続け、dojox.mobile ウィジェットを使用した Android アプリのように書式設定されるのではなく、プレーン テキストとしてアプリが表示されることです。 .

これが私のコードです:

<!DOCTYPE HTML>
<html>
<head>
<meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,
minimum-scale=1,user-scalable=no"/>
<title>PhoneGap</title>

<!-- DOJO -->

<script src="/assets/www/lib/dojo/dojo/dojo.js" data-dojo-config="isDebug: true, parseOnLoad:true">
</script>

<link rel="stylesheet" href="/assets/www/lib/dojo/dojox/mobile/themes/android/android.css" 
type="text/css" media="screen" title="no title" charset="utf-8">


<script type="text/javascript" charset="utf-8" src="/assets/www/cordova-1.6.0.js"></script>

<script>
require(["dojo"], function(dojo) {
    dojo.require("dojox/mobile")
    dojo.require("dojox/mobile/parser")
});
</script>
</head>

<!-- END DOJO -->



<body>
<!-- ACCIDENT TOOLKIT PAGE -->
<div data-dojo-type="dojox.mobile.View" id="accHelp" selected="true">
    <h1 data-dojo-type="dojox.mobile.Heading">Accident</h1>
    <div class="text">If you are in an accident, you should first move to a safe 
    location. Below are some additional actions you can take:</div>
    <ul data-dojo-type="dojox.mobile.RoundRectList">
        <li data-dojo-type="dojox.mobile.ListItem" 
            onclick="window.location='geo:0,0?q=police';">Call the Police</li>
        <li data-dojo-type="dojox.mobile.ListItem"
            onclick="window.location='geo:0,0?q=towing';">Call for a Tow Truck</li>
        <li data-dojo-type="dojox.mobile.ListItem" moveTo="accInfo" transition="slide"
            onClick="itemClicked();">Exchange Driver Info</li>
        <li data-dojo-type="dojox.mobile.ListItem" moveTo="accInfo" transition="slide"
            onClick="itemClicked();">Record Accident Location</li>
        <li data-dojo-type="dojox.mobile.ListItem" moveTo="accInfo" transition="slide"
            onClick="itemClicked();">Take Photos of Accident</li>
    </ul>
</div>
<!-- EXCHANGE DRIVER INFO PAGE -->
<div data-dojo-type="dojox.mobile.View" id="accInfo">
    <h1 data-dojo-type="dojox.mobile.Heading" back="Accident" moveTo="accHelp"
        onClick="console.log('Going back');">Driver</h1>
    <h2 data-dojo-type="dojox.mobile.RoundRectCategory">Other Driver Info</h2>
</div>

<script>
function itemClicked() {
  console.log("itemClicked()");
}
</script>
</body>
</html>

コード自体に問題があるように見えますか? 特に、スクリプト scr... を使用して dojo.js を指定しているところと、require を使用して dojo.mobile 関数を呼び出しているところです。src がパッケージ ツリーの正しい場所を指している限り、ファイルをどこにコピーしても大した問題ではないと私は感じていました。

Google CDN を使用して dojo.js を呼び出してみましたが、インターネット接続を使用していない可能性があるため、そうするとエミュレーターがエラーをスローしますか?

どんな助けでも素晴らしいでしょう!

4

2 に答える 2

0

requireステートメントは次のようになります。

require(["dojo"], function(dojo) {
    dojo.require("dojox/mobile")
    dojo.require("dojox/mobile/parser")
});

そして、次のようになります。

require([
    "dojo/mobile",
    "dojo/mobile/parser"
],
function(mobile, parser) {
    // your code here;
});
于 2012-11-21T16:28:56.553 に答える
0

ローカル URL から /assets/www/ を削除してみてください

于 2012-04-19T17:25:21.447 に答える