Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/382.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/87.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 三星智能电视应用中的远程导航_Javascript_Jquery_Html_Samsung Smart Tv - Fatal编程技术网

Javascript 三星智能电视应用中的远程导航

Javascript 三星智能电视应用中的远程导航,javascript,jquery,html,samsung-smart-tv,Javascript,Jquery,Html,Samsung Smart Tv,我正在创建一个三星智能电视javascript应用程序,HTML页面已经完成,现在是时候在其中集成远程控制选项了 我的应用程序包含不同通道的选项卡/图像等,当用户通过远程选择时,他将被重定向到。现在的问题是这个导航将如何工作??用户如何使用遥控器在这些频道选项卡上左右或上下移动 在三星智能电视文档中,他们提供了有关其密钥库的信息,但我如何在应用程序中使用它来移动到不同的元素?无法为您提供一个完全有效的解决方案,但至少可以从我们的做法中获得一些经验 您可以将HTML组织到不同的导航区域和类型中。导

我正在创建一个三星智能电视javascript应用程序,HTML页面已经完成,现在是时候在其中集成远程控制选项了

我的应用程序包含不同通道的选项卡/图像等,当用户通过远程选择时,他将被重定向到。现在的问题是这个导航将如何工作??用户如何使用遥控器在这些频道选项卡上左右或上下移动


在三星智能电视文档中,他们提供了有关其密钥库的信息,但我如何在应用程序中使用它来移动到不同的元素?

无法为您提供一个完全有效的解决方案,但至少可以从我们的做法中获得一些经验

您可以将HTML组织到不同的导航区域和类型中。导航区域具有导航类型,通常为列表或网格

JavaScript导航控制器跟踪您所在的区域。它还处理按键(上/下/左/右/回车),并根据导航类型确定下一个要突出显示的项目

假设您有一个选项卡列表:

<div id="maintabs" class="tabs nav-current-zone" data-nav-type="list">
    <span class="tab nav-current-item">Tab 1</span>
    <span class="tab">Tab 2</span>
    <span class="tab">Tab 3</span>
</div>
如果您位于列表的顶部/底部并从列表中导航出来,该怎么办?在这种情况下,您可以不执行任何操作,也可以定义要进入的其他区域

<div id="maintabs" data-nav-type="list" data-nav-leave-down="anotherZone">
    ...
</div>

<div id="anotherZone" data-nav-type="list" data-nav-leave-up="maintabs">
    ...
</div>

你需要自己处理钥匙。三星指南为您提供按键列表,以便您知道遥控器上的哪个按钮被按下,因为它们返回的按键代码与普通键盘不同。看看@IntoTheVoid解决方案。
<div id="maintabs" data-nav-type="list" data-nav-leave-down="anotherZone">
    ...
</div>

<div id="anotherZone" data-nav-type="list" data-nav-leave-up="maintabs">
    ...
</div>
if(key === "down"){
   var nextItem =  $(currentZone).find("nav-current").next();
   if($(next).size() === 0){
        var nextZone = $(currentZone).data("nav-leave-down");
        //navigate to the other zone
   }
}