我正在为AppleTV开发一个应用程序。该应用程序将从尚未开发此类API的在线网站上读取电影。
我使用XMLHTTPRequest来获取不同的URL,并让用户搜索他的电影,等等。。。一切正常,除了单个请求。要获取电影URL,我必须使用恒定的cookie(例如mycookie = cookie)向特定地址(例如http://example.com/getmovie.html)发送get请求。
我试过使用setRequestHeader:
var xhr = new XMLHttpRequest();
xhr.open("GET", url, false);
xhr.withCredentials = true;
xhr.setRequestHeader('Cookie', 'mycookie=cookie');
xhr.send();
Run Code Online (Sandbox Code Playgroud)
但是似乎没有发送任何cookie。我还尝试用Document.cookie设置cookie,就像我可能会在“正常” js脚本中运行(在浏览器中运行)一样,但是也没有运气。
这非常令人沮丧,尤其是因为我紧紧靠近应用程序的末尾。
我猜可能是跨域的问题,但是如果我不必设置cookie,我就能获得没有问题的URL,所以我在这里有点迷路了。
请让我知道如何获取带有特定Cookie标头的http://example.com/getmovie.html。
谢谢你的帮助
我现在在模拟器中有一个很好的TVML应用程序.我开始使用menuBar模板,并使用了stackTemplate和productTemplate.在模拟器中,一切都在花花公子.但是,当我挂起Apple TV并尝试在那里运行时,应用程序加载,但后来我收到以下错误:
TVMLKitErrorDomain error 3
Run Code Online (Sandbox Code Playgroud)
我一直试图找出这几天的内容,但我没有找到任何与错误代码有关的信息.模拟器版本在Applehost推荐的localhost 9001上运行,并且完美无瑕.我只是无法让应用程序在设备上正常运行.有谁知道那个错误是什么,以及我如何解决它?一如既往,感谢您的帮助!
我有一个基本的MenuBarTemplate设置和显示.
如何对用户的菜单选择做出反应并加载适当的内容模板?
是否可以使用TVML创建动态模板/页面而不依赖Apple的标准模板?
假设我想要创建一个模板,其中有两个图像彼此相邻,并且在这些图像的顶部有几个我希望根据某些参数定位的文本字段.
我可以创建一个模板/视图我UIKit并从JS填充它作为替代?
我该怎么做?
我正在使用TVMLCatalog中的' Compilation.xml '模板
我想将一个按钮点击事件添加到' listItemLockup '
<listItemLockup>
<ordinal minLength="2" class="ordinalLayout">0</ordinal>
<title>Intro</title>
<subtitle>00</subtitle>
<decorationLabel>(3:42)</decorationLabel>
</listItemLockup>
Run Code Online (Sandbox Code Playgroud)
我试过添加:
App.onLaunch = function(options) {
var templateURL = 'http://localhost:8000/hello.tvml';
var doc = getDocument(templateURL);
//doc.addEventListener("select", function() { alert("CLICK!") }, false);
var listItemLockupElement = doc.getElementsByTagName("listItemLockup");
listItemLockupElement.addEventListener("select", function() { alert("CLICK!") }, false);
}
Run Code Online (Sandbox Code Playgroud)
void addEventListener (in String type, in Object listener, in optional Object extraInfo)
Run Code Online (Sandbox Code Playgroud)
"选择"正确的类型?
我一直在使用以下教程
http://jamesonquave.com/blog/developing-tvos-apps-for-apple-tv-with-swift/
http://jamesonquave.com/blog/developing-tvos-apps-for-apple-tv-part-2/
更新
我收到了一个错误
ITML <Error>: doc.getElementsByTagName is not a function. (In 'doc.getElementsByTagName("listItemLockup")', 'doc.getElementsByTagName' is undefined) - http://localhost:8000/main.js - …Run Code Online (Sandbox Code Playgroud) 向DOM添加事件时我很困惑.在这段代码中
App.onLaunch = function(options) {
//...
//inside resourceLoader.loadResource...
var doc = Presenter.makeDocument(resource);
doc.addEventListener("select", Presenter.load.bind(Presenter)); //add this line
Presenter.pushDocument(doc);
//...
}
Run Code Online (Sandbox Code Playgroud)
哪里"select"来的?
我怎么知道"select"可以从某些元素触发事件,例如按钮?
这有什么文件吗?
我已经看到了这个问题(强制视图在Apple TV/tvos上重新加载tvml内容),答案描述了如何从DOM中删除内容但是有没有办法添加它们?
我知道NodeList上的标准appendChild,但是如何创建要附加的正确元素?也就是说,当您在TVML中创建文档时,它是一种特殊的XML语法,然后将其解析为文档.有没有办法解析文档的一部分,以便您可以将其添加到一个架子中的一个部分,以便在文档显示后动态地向行中添加更多项目?
PS我已经尝试将Presenter.parser.parseFromString()与新项目的xml一起使用,但它正在抛出具有该语法的IKDOMException.