gpt4 book ai didi

javascript - tvOS 不加载外部 TVML 文件

转载 作者:行者123 更新时间:2023-11-30 16:31:16 25 4
gpt4 key购买 nike

在创建新的客户端-服务器 tvOS 应用程序时,tvOS 不会从我的外部获取数据 tvml文件。这是错误:ITML <Error>: Failed to load launch URL with error: (null)

这是 main.js代码

function getDocument(url) {
var templateXHR = new XMLHttpRequest();
templateXHR.responseType = "document";
templateXHR.addEventListener("load", function() {pushDoc(templateXHR.responseXML);}, false);
templateXHR.open("GET", url, true);
templateXHR.send();
return templateXHR;
}

function pushDoc(document) {
navigationDocument.pushDocument(document);
}

App.onLaunch = function(options) {
var templateURL = 'niclasblog.com/appletv/main.tvml';
getDocument(templateURL);
}

App.onExit = function() {
console.log('App finished');
}

我附上了 main.tvml文件也是

<document>
<alertTemplate>
<title>Test</title>
<description>This is a test</description>
<button>
<text>Yes</text>
</button>
<button>
<text>No</text>
</button>
</alertTemplate>
</document>

该代码直接来自 Apple 文档,所以我不知道为什么它不起作用。

最佳答案

在您的 App.onLaunch 函数中,您可以获得 BASEURL 并使用它来加载您的所有 Assets :

App.onLaunch = function(options) {
var BASEURL = options.BASEURL;
// etc.
}

您还可以考虑使用不同的方法来加载模板。考虑使用 DOMParser解析 XML 字符串。这样您就可以编写具有“真实”内容的多行模板字符串,例如

getDocument(options) {
let parser = new DOMParser();
let templateString = `<?xml version="1.0" encoding="UTF-8" ?>
<document>
<alertTemplate>
<description>${options.translate.errorRandomErrorAlertText}</description>
<button>
<text>${options.translate.utilOk}/text>
</button>
</alertTemplate>
</document>`;
return parser.parseFromString(templateString, "application/xml");
}

我写了一个generator特别是针对使用 es6 的 Apple TVML 应用程序,它仍处于开发初期,但可能会帮助您入门。

关于javascript - tvOS 不加载外部 TVML 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33288392/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com