3

我正在尝试使用 Tizen SDK 创建一个 Web 应用程序。当我启动应用程序时,一切都很好,但是当我在模拟器上按下“返回”按钮时,什么也没有发生,我看到一条消息:

55435/js/main.js:9:ReferenceError:找不到变量:tizen

我看了看,main.js有一段代码:

//Initialize function
var init = function () {
    // TODO:: Do your initialization job
    console.log("init() called");

    // add eventListener for tizenhwkey
    document.addEventListener('tizenhwkey', function(e) {
        if(e.keyName == "back") {
            tizen.application.getCurrentApplication().exit(); // HERE IS THE ERROR
        }
    });
};
$(document).bind('pageinit', init);

简单的alert(window.tizen)说就是undefined这样,我以为有些js文件没有附加到项目中。以下是 Tizen SDK 生成的脚本:

<script src="tizen-web-ui-fw/latest/js/jquery.js"></script>
<script src="tizen-web-ui-fw/latest/js/tizen-web-ui-fw-libs.js"></script>
<script src="tizen-web-ui-fw/latest/js/tizen-web-ui-fw.js" data-framework-theme="tizen-white"></script>
<script type="text/javascript" src="./js/main.js"></script>

我认为应该添加一些脚本,但我不知道是哪一个。

4

6 回答 6

4

除了 .wgt 中的文件外,“tizen”命名空间似乎消失了。因此,如果它从其他地方加载网页,“tizen”就会消失。

一种可能对您有用的解决方法是在小部件中本地拥有一个 .js/.html 文件,该文件执行您需要它为您做的事情......然后让其他所有内容动态加载。在我们的例子中,我们有一个本地 .html 文件为我们的应用程序执行 tizen.registerKey,然后将 window.onload 重定向到我们的托管解决方案。

于 2015-09-10T18:24:22.857 回答
2

tizen命名空间通常只有在声明了正确的权限后才可用,config.xml任何其他 API 也是如此。

这是您声明权限的方式,或者您可以简单地添加以下行:

<tizen:privilege name="http://tizen.org/privilege/tizen"/>

config.xml,

只有在设置了权限之后,Tizen Web 设备 API 才会被实例化(在window.tizen命名空间下)。

同样,如果您想在window.tizen.download命名空间中使用 API,您需要:

<tizen:privilege name="http://tizen.org/privilege/download"/>

添加到您的权限列表中config.xml

有关权限的完整列表,请使用 IDE 或查看此列表

于 2013-08-26T12:05:01.253 回答
2

我不知道它现在如何工作,但我找到了解决方案。我刚刚更改了工作区并且它起作用了。

于 2013-08-24T10:52:59.520 回答
1

您尝试使用什么 SDK 版本?我想,这是一个解决方案:http: //www.mail-archive.com/general@lists.tizen.org/msg00092.html

于 2013-08-23T14:37:02.707 回答
1

实际上,您不需要在 config.xml 中设置使用 tizen.application.xx API 的权限。

不设置任何权限,代码tizen.application.getCurrentApplication().exit()将正常运行。

这可能是平台的临时错误。如您所知,Tizen 目前非常不稳定,因为它刚刚成长。

于 2013-08-29T08:10:48.127 回答
0

只需禁用“运行配置”菜单中的“启用实时编辑”复选按钮(右击项目->“运行方式”->“运行配置...”)

于 2020-07-05T05:26:21.570 回答