问题标签 [tvml]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
2741 浏览

javascript - 将变量从 Swift 传递给 javascript 函数

使用 JSContext 将变量传递给 javascript 函数时遇到问题。错误说stringToSend未定义:

0 投票
1 回答
388 浏览

javascript - 在我的 tvml 模板中显示 MediaItem 属性?

我正在尝试制作一个苹果电视应用程序。

我正在使用来自 tvOS 开发人员库的示例代码:

https://developer.apple.com/library/tvos/samplecode/TVMLAudioVideo/Introduction/Intro.html

我想从 application.js 显示这些数据:

在我的 index.xml.js

我试过: ${title} 和 ${video.title} 但它不起作用。

0 投票
1 回答
229 浏览

dom - 在 TVJS 应用程序中更新 DOM 的最高效方式?

在一个实例中更新 TVJS 中的 DOM 似乎几乎是瞬时的(在 DOM 中大约 1000 个锁定项),而在另一个实例中则阻塞了 UI 30 秒(大约 10000 个锁定项)。

文档参考存储为参考并使用一些属性进行更新:

是否有更高效/更高效的方式来更新 DOM?

0 投票
0 回答
360 浏览

javascript - tvOS:嵌套模板

我有一个简单的应用程序,它使用目录模板来显示视频内容,但我希望我的应用程序有 6 或 7 个可通过主菜单选择的目录模板,每个模板都有自己的视频集。目前,我很难弄清楚如何在模板之间导航,而不是一开始就加载一个模板,然后让 tvOS 处理剩下的。理想情况下,我希望有一个顶级展示模板,然后将目录模板作为其子模板。我正在使用 TVML 和 JS 并且到目前为止有以下代码(主要来自教程):

应用程序.js

资源加载器.js

Presenter.js

模板本身:

0 投票
0 回答
170 浏览

javascript - 用 Swift 创建的 TVML 模板中的图像链接

我正在使用本地文件来为 Apple TV 项目提供模板。当我传递文件所在位置的基本 URL,然后推送模板时,嵌入的图像链接可以正常工作。

但是当我动态创建一个模板(作为一个字符串)并尝试推送它时,基本 URL 没有被读取,我得到这样的图像链接:

这是读取我创建的字符串的 javascript 函数:

我创建的字符串不包含 javascript,即它们不是这样开始的:

我知道我可以将完整的基本 URL 写入图像链接,但是有什么方法可以将它们保存${this.BASEURL}在我创建的路径中?

0 投票
1 回答
101 浏览

javascript - tvOS:视频播放器未推送到导航堆栈顶部

我有一个正在开发的视频流应用程序,它可以让我从 listTemplate 中选择一年的视频,然后每年都是一个 catalogTemplate,其中包含指向视频资源的链接。listTemplate 和 catalogTemplate 之间的导航可以正常工作,但是当我从其中一个 catalogTemplate 中选择视频时,视频会在模板后面播放,而不是在前台播放。如何修复我认为是这样的导航堆栈错误?下面是我用来实际展示内容的代码,部分取自 Apple 的文档。

0 投票
2 回答
1551 浏览

tvos - TVML 动态添加项目?

我已经看到了这个问题(Force view to reload tvml content on Apple TV/tvos),答案描述了如何从 DOM 中删除内容,但有没有办法添加它们?

我知道 NodeList 上的标准 appendChild,但是您将如何创建要附加的正确元素?也就是说,当您在 TVML 中创建文档时,它是一种特殊的 XML 语法,然后会被解析为文档。有没有办法只解析文档的一部分,以便您可以将其添加到,比如书架中的一个部分,以便在文档呈现后动态地将更多项目添加到行中?

PS 我已经尝试将 Presenter.parser.parseFromString() 与新项目的 xml 一起使用,但它使用该语法抛出了 IKDOMException。

0 投票
1 回答
200 浏览

tvos - 渲染简单的 html 文本,如下所示,以在基于 UIkit 的 TVOS 应用程序中查看

如何在基于 UIkit 的 TVOS 应用程序中呈现如下所示的简单 html 文本以查看?

由于我们无法在 TVOS 应用程序中使用 webviews,是否有替代解决方案?

为了提供一点背景知识,我正在构建一个 TVOS,并从预播种的核心数据存储中提取一些静态文本。它还从主包加载此文本引用的一些图像。

0 投票
1 回答
130 浏览

race-condition - TVOS:启动时的竞争条件

使用模板和 TVML,我使用自己的加载页面启动我的应用程序,然后调用服务为用户创建主页。

如果我在内部发起对服务器的调用didFinishLaunchingWithOptions,则会收到错误消息ITML <Error>: undefined is not an object - undefined - line:undefined:undefined

由此我假设我对服务器的异步调用在 javascriptApp.onLaunch函数完成之前完成,并且只有在调用服务器之前强制等待时间才能让它工作。

这是 AppDelegate 方法:

这是(有点样板)javascript函数:

现在,如果我在 中更改对服务器的调用didFinishLaunchingWithOptions,并强制它等待,如下所示:

..它会工作。但我不喜欢那个解决方案!我能做些什么来阻止这种竞争状况的发生?

0 投票
1 回答
402 浏览

tvml - TVML 横幅尺寸

我正在使用 MenuBar 模板以及目录模板和堆栈模板。使用堆栈模板时,顶部的集合列表中有一个轮播。根据苹果堆栈模板,这些图像的大小应为 1740x500。我已经将我的图像制作成那个大小,但是当我将它们添加到 javascript 文件中并在模拟器上运行时,所有的横幅似乎都有顶部的吊坠。这让我完全发疯了。

有没有人注意到这一点,如果有,你找到解决方案了吗?我是否只习惯使用高度的前 400 像素或其他东西?当我不使用 menuBar 模板时,横幅看起来不错,例如,如果我以列表模板开始我的应用程序。正如您在图片中看到的,我指的不是菜单栏何时出现在屏幕上。即使 menuBar 不存在,图像也会被丢弃!

此外,所有其他图形看起来只需使用模板中的尺寸(即电影、cd 方形等)。只有轮播横幅图像不能正确显示

这是未将其插入模板的横幅: 横幅不在模板中

以下是在 Apple TV 模拟器中显示的横幅: Apple TV 横幅顶部垂下

谢谢大家的耐心。我是 TVML 的新手,几乎所有东西都可以在我的应用程序中运行,但这让我发疯。任何帮助是极大的赞赏。