dojo.ready调用显示Worklight 6.0中的错误



我创建了一个基于dojo的Worklight项目和一个混合应用程序。我拖放了一个dojo移动按钮,它被添加到dojo移动视图中。所有这些都可以很好地工作,并在各种环境中渲染良好(常见的,android等)。它还可以在Rich Page Editor中正确地显示外观。

但是后来我添加了一个脚本,它有一个非常简单的dojo.ready调用。现在,当我运行这个应用程序时,我得到一个控制台错误,说ReferenceError:dojo没有定义。知道为什么会这样吗?

我知道我已经正确地设置了dojo,就像其他部分一样。我还检查了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>

谢谢,Gaurav

如果要使用dojo.ready,必须首先初始化它。

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

以下是参考资料:http://dojotoolkit.org/reference-guide/1.8/dojo/ready.html#dojo-就绪

更新1

你现在使用的是哪个版本的dojo?1.6或1.7+?新的AMD需要像我之前写的那样初始化模块。

你读过这些帖子吗?导入dojo Libarys时似乎出现了故障。我想这可能和你的错误有关。

工作灯无法在实际设备上要求DOJO Combobx-无法加载/dijit/form/nls/it/ComboBox.js

Worklight core-web-layer.js错误

此致,Miriam

最新更新