问题标签 [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.
javascript - 将变量从 Swift 传递给 javascript 函数
使用 JSContext 将变量传递给 javascript 函数时遇到问题。错误说stringToSend
未定义:
javascript - 在我的 tvml 模板中显示 MediaItem 属性?
我正在尝试制作一个苹果电视应用程序。
我正在使用来自 tvOS 开发人员库的示例代码:
https://developer.apple.com/library/tvos/samplecode/TVMLAudioVideo/Introduction/Intro.html
我想从 application.js 显示这些数据:
在我的 index.xml.js
我试过: ${title} 和 ${video.title} 但它不起作用。
dom - 在 TVJS 应用程序中更新 DOM 的最高效方式?
在一个实例中更新 TVJS 中的 DOM 似乎几乎是瞬时的(在 DOM 中大约 1000 个锁定项),而在另一个实例中则阻塞了 UI 30 秒(大约 10000 个锁定项)。
文档参考存储为参考并使用一些属性进行更新:
是否有更高效/更高效的方式来更新 DOM?
javascript - tvOS:嵌套模板
我有一个简单的应用程序,它使用目录模板来显示视频内容,但我希望我的应用程序有 6 或 7 个可通过主菜单选择的目录模板,每个模板都有自己的视频集。目前,我很难弄清楚如何在模板之间导航,而不是一开始就加载一个模板,然后让 tvOS 处理剩下的。理想情况下,我希望有一个顶级展示模板,然后将目录模板作为其子模板。我正在使用 TVML 和 JS 并且到目前为止有以下代码(主要来自教程):
应用程序.js
资源加载器.js
Presenter.js
模板本身:
javascript - 用 Swift 创建的 TVML 模板中的图像链接
我正在使用本地文件来为 Apple TV 项目提供模板。当我传递文件所在位置的基本 URL,然后推送模板时,嵌入的图像链接可以正常工作。
但是当我动态创建一个模板(作为一个字符串)并尝试推送它时,基本 URL 没有被读取,我得到这样的图像链接:
这是读取我创建的字符串的 javascript 函数:
我创建的字符串不包含 javascript,即它们不是这样开始的:
我知道我可以将完整的基本 URL 写入图像链接,但是有什么方法可以将它们保存${this.BASEURL}
在我创建的路径中?
javascript - tvOS:视频播放器未推送到导航堆栈顶部
我有一个正在开发的视频流应用程序,它可以让我从 listTemplate 中选择一年的视频,然后每年都是一个 catalogTemplate,其中包含指向视频资源的链接。listTemplate 和 catalogTemplate 之间的导航可以正常工作,但是当我从其中一个 catalogTemplate 中选择视频时,视频会在模板后面播放,而不是在前台播放。如何修复我认为是这样的导航堆栈错误?下面是我用来实际展示内容的代码,部分取自 Apple 的文档。
tvos - TVML 动态添加项目?
我已经看到了这个问题(Force view to reload tvml content on Apple TV/tvos),答案描述了如何从 DOM 中删除内容,但有没有办法添加它们?
我知道 NodeList 上的标准 appendChild,但是您将如何创建要附加的正确元素?也就是说,当您在 TVML 中创建文档时,它是一种特殊的 XML 语法,然后会被解析为文档。有没有办法只解析文档的一部分,以便您可以将其添加到,比如书架中的一个部分,以便在文档呈现后动态地将更多项目添加到行中?
PS 我已经尝试将 Presenter.parser.parseFromString() 与新项目的 xml 一起使用,但它使用该语法抛出了 IKDOMException。
tvos - 渲染简单的 html 文本,如下所示,以在基于 UIkit 的 TVOS 应用程序中查看
如何在基于 UIkit 的 TVOS 应用程序中呈现如下所示的简单 html 文本以查看?
由于我们无法在 TVOS 应用程序中使用 webviews,是否有替代解决方案?
为了提供一点背景知识,我正在构建一个 TVOS,并从预播种的核心数据存储中提取一些静态文本。它还从主包加载此文本引用的一些图像。
race-condition - TVOS:启动时的竞争条件
使用模板和 TVML,我使用自己的加载页面启动我的应用程序,然后调用服务为用户创建主页。
如果我在内部发起对服务器的调用didFinishLaunchingWithOptions
,则会收到错误消息ITML <Error>: undefined is not an object - undefined - line:undefined:undefined
。
由此我假设我对服务器的异步调用在 javascriptApp.onLaunch
函数完成之前完成,并且只有在调用服务器之前强制等待时间才能让它工作。
这是 AppDelegate 方法:
这是(有点样板)javascript函数:
现在,如果我在 中更改对服务器的调用didFinishLaunchingWithOptions
,并强制它等待,如下所示:
..它会工作。但我不喜欢那个解决方案!我能做些什么来阻止这种竞争状况的发生?
tvml - TVML 横幅尺寸
我正在使用 MenuBar 模板以及目录模板和堆栈模板。使用堆栈模板时,顶部的集合列表中有一个轮播。根据苹果堆栈模板,这些图像的大小应为 1740x500。我已经将我的图像制作成那个大小,但是当我将它们添加到 javascript 文件中并在模拟器上运行时,所有的横幅似乎都有顶部的吊坠。这让我完全发疯了。
有没有人注意到这一点,如果有,你找到解决方案了吗?我是否只习惯使用高度的前 400 像素或其他东西?当我不使用 menuBar 模板时,横幅看起来不错,例如,如果我以列表模板开始我的应用程序。正如您在图片中看到的,我指的不是菜单栏何时出现在屏幕上。即使 menuBar 不存在,图像也会被丢弃!
此外,所有其他图形看起来只需使用模板中的尺寸(即电影、cd 方形等)。只有轮播横幅图像不能正确显示。
这是未将其插入模板的横幅: 横幅不在模板中
以下是在 Apple TV 模拟器中显示的横幅: Apple TV 横幅顶部垂下
谢谢大家的耐心。我是 TVML 的新手,几乎所有东西都可以在我的应用程序中运行,但这让我发疯。任何帮助是极大的赞赏。