如何在Samsung Smart TV应用程序中添加文本输入?

sla*_*ick 5 javascript television samsung-smart-tv

我正在尝试为三星智能电视的应用添加文本框.我遵循Samsungs dev准则,但由于IMEShell未定义,因此失败.

new IMEShell(this._INPUT_ID, this._imeReady.bind(this), "en");
Run Code Online (Sandbox Code Playgroud)

我在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>
Run Code Online (Sandbox Code Playgroud)

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

sla*_*ick 8

好的,事实证明,根据您使用的项目类型,有两种方法可以在智能电视应用中使用输入.如果要创建AppFramework项目,则需要ime在项目根目录的app.json中列为模块:

{
    "theme" : "base",
    "languages" : ["en"],
    "resolutions": ["540p", "720p", "1080p"],
    "modules" : ["ime"]
}
Run Code Online (Sandbox Code Playgroud)

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

<script type="text/javascript" src="$MANAGER_WIDGET/Common/af/2.0.0/loader.js"></script>
Run Code Online (Sandbox Code Playgroud)

或者,您可以创建一个不使用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>
Run Code Online (Sandbox Code Playgroud)

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

  <script type="text/javascript" src="$MANAGER_WIDGET/Common/IME_XT9/ime.js"></script>
Run Code Online (Sandbox Code Playgroud)

三星论坛有一个例子.

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