0

Dojo ベースの Worklight プロジェクトとハイブリッド アプリケーションを作成しました。Dojo モバイル ビュー内に追加される Dojo モバイル ボタンをドラッグ アンド ドロップしました。これらはすべて正常に機能し、さまざまな環境 (共通、Android など) で正常にレンダリングされます。また、Rich Page Editor のルック アンド フィールも正しく表示されます。

しかし、その後、非常に単純な dojo.ready 呼び出しを持つスクリプトを追加しました。このアプリケーションを実行すると、 ReferenceError: dojo is not definedというコンソール エラーが表示されます。なぜそれが起こっているのですか?

他の部分が機能しているように見えるので、私は道場を正しくセットアップしたことを知っています。また、dojo.js がロードされていることも確認しました (これは、他の部分が機能していることから明らかです)。すべての機能がインストールされた IBM Worklight 6.0 開発者版を使用しています。

ここに私のサンプルコードがあります

<!DOCTYPE HTML>
<html>
        <head>
            <meta charset="UTF-8">
            <title>jmdwl</title>
            <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=0">
            <meta name="apple-mobile-web-app-capable" content="yes">
            <link rel="shortcut icon" href="images/favicon.png">
            <link rel="apple-touch-icon" href="images/apple-touch-icon.png">
            <link rel="stylesheet" href="css/jmdwl.css">
            <script>window.$ = window.jQuery = WLJQ;</script>
            <script type="text/javascript" src="dojox/mobile/deviceTheme.js"></script>
            <script type="text/javascript" data-dojo-config="isDebug: false, async: true, parseOnLoad: true, mblHideAddressBar: false" src="dojo/dojo.js"></script>
            <script>
            dojo.ready(function() {
                alert("Here");
            });
            </script>
        </head>
        <body id="content" style="display: none;">
            <div data-dojo-type="dojox.mobile.ScrollableView" id="view0" data-dojo-props="selected:true">
                <!--application UI goes here-->

                    <button data-dojo-type="dojox.mobile.Button">Label</button>
            </div>
            <script src="js/initOptions.js"></script>
            <script src="js/jmdwl.js"></script>
            <script src="js/messages.js"></script>
        </body>
</html>

ありがとう、ガウラフ

4

1 に答える 1

0

dojo.ready を使用する場合は、最初に初期化する必要があります。

<script>
  require(["dojo/ready"], function(ready){     
        ready(function() {
            alert("Here");
        });
  });

リファレンスは次のとおりです: http://dojotoolkit.org/reference-guide/1.8/dojo/ready.html#dojo-ready

更新 1

現在、どのバージョンの Dojo を使用していますか? 1.6 または 1.7+ ? 新しい AMD では、前に書いたようにモジュールを初期化する必要があります。

このスレッドを読みましたか?Dojo ライブラリのインポート中にエラーが発生したようです。これはあなたのエラーと関係があると思います。

worklight が実際のデバイスで DOJO Combobx を要求できない - 読み込みに失敗する ... /dijit/form/nls/it/ComboBox.js

Worklight core-web-layer.js エラー

よろしく、ミリアム

于 2013-08-27T06:51:05.820 に答える