5

我正在尝试将文本框添加到三星智能电视的应用程序中。我正在遵循三星的开发指南,但以下失败,因为IMEShell未定义。

new IMEShell(this._INPUT_ID, this._imeReady.bind(this), "en");

我在 index.html 文件中有以下内容:

<script type="text/javascript" src="$MANAGER_WIDGET/Common/API/TVKeyValue.js"></script>
<script type="text/javascript" src="$MANAGER_WIDGET/Common/API/Widget.js"></script>

我需要包含哪些脚本文件才能访问IMEShell

4

1 回答 1

8

好的,事实证明,根据您使用的项目类型,在智能电视应用程序中有两种使用输入的方法。如果你正在创建一个AppFramework项目,你需要ime在项目根目录的 app.json 中作为一个模块列出:

{
    "theme" : "base",
    "languages" : ["en"],
    "resolutions": ["540p", "720p", "1080p"],
    "modules" : ["ime"]
}

然后您需要在项目的 index.html 中包含 AppFramework 脚本:

<script type="text/javascript" src="$MANAGER_WIDGET/Common/af/2.0.0/loader.js"></script>

或者,您可以创建一个不使用 AppFramewrok 代码且不需要将项目拆分为“场景”的javascript 项目。在这种情况下,需要包含大量脚本:

  <!-- Common API -->
  <!--  Taken from http://www.samsungdforum.com/SamsungDForum/ForumView/df3455b529adf7c4?forumID=8c1afcc0709c2097 -->
  <script type="text/javascript" src="$MANAGER_WIDGET/Common/OpenSrc/jquery-1.4.2.min.js"></script>
  <script type="text/javascript" src="$MANAGER_WIDGET/Common/API/Widget.js"></script>
  <script type="text/javascript" src="$MANAGER_WIDGET/Common/API/Plugin.js"></script>
  <script type="text/javascript" src="$MANAGER_WIDGET/Common/API/TVKeyValue.js"></script>
  <script type="text/javascript" src="$MANAGER_WIDGET/Common/Util/Include.js"></script>
  <script type="text/javascript" src="$MANAGER_WIDGET/Common/Util/Language.js"></script>
  <script type="text/javascript" src="$MANAGER_WIDGET/Common/Plugin/Define.js"></script>
  <script type="text/javascript" src="$MANAGER_WIDGET/Common/IME/ime2.js"></script>

这将创建一个数字键盘;要创建 QWERTY 键盘,请在 body 标记中添加以下脚本。

  <script type="text/javascript" src="$MANAGER_WIDGET/Common/IME_XT9/ime.js"></script>

三星论坛上有一个例子。

一旦这些方法之一包含了脚本,其余的输入控件文档就可以工作了。

于 2012-09-15T13:00:38.563 回答