Javascript 在TVML应用程序上重新加载主页
我有一个TVML应用程序,有一个菜单栏和4个部分。主页(菜单栏中的第一个)是从远程TVML构建的,其中包含用于数据的远程JSON文件。加载JSON文件和TVML文件后,我使用Mustach来呈现模板。每次用户导航到不同的页面,然后使用菜单返回主页时,我们都希望加载并显示最新的TVML和JSON。然而,这种情况从未发生过。无论我对其中一个远程文件做了什么更改,主页都保持不变。通过调试,我看到远程文件实际上已加载并呈现,因此我确实设法获得了最新的模板和数据。但是,当在屏幕上显示时,以下内容不会刷新页面:Javascript 在TVML应用程序上重新加载主页,javascript,json,caching,tvml,Javascript,Json,Caching,Tvml,我有一个TVML应用程序,有一个菜单栏和4个部分。主页(菜单栏中的第一个)是从远程TVML构建的,其中包含用于数据的远程JSON文件。加载JSON文件和TVML文件后,我使用Mustach来呈现模板。每次用户导航到不同的页面,然后使用菜单返回主页时,我们都希望加载并显示最新的TVML和JSON。然而,这种情况从未发生过。无论我对其中一个远程文件做了什么更改,主页都保持不变。通过调试,我看到远程文件实际上已加载并呈现,因此我确实设法获得了最新的模板和数据。但是,当在屏幕上显示时,以下内容不会刷新页
presentMenuBarItem(doc, menuItem) {
var feature = menuItem.parentNode.getFeature("MenuBarDocument");
if (feature) {
var currentDoc = feature.getDocument(menuItem);
if (!currentDoc) {
feature.setDocument(doc, menuItem);
}
}
}
我已经通过调试验证了传入该函数的文档是更新版本。但是,每次都会显示旧的
如果我重新加载应用程序,我会得到新版本,但只在模拟器中。在实际的苹果电视中,即使我重新启动,我仍然会得到旧数据
我还尝试在恢复时清除堆栈并重新加载菜单和主屏幕,使其正常工作,但同样,即使它在模拟器上正常工作,但在苹果电视上却无法正常工作,数据以及模板和旧图像保持不变
App.onResume = function(options) {
navigationDocument.clear();
pushLoadingDoc();
resourceLoader.getNavigation();
}
如何使该函数呈现更新的屏幕?我们的主页tvml和json文件不断更新,我们需要向用户显示最新的版本
谢谢。您可以像这样刷新整个页面:
refreshMainPageWith(newDoc){
const oldMain=navigationDocument.documents[0];
导航文档.replaceDocument(newDoc,oldMain);
}
在我的例子中,文档[0]是菜单模板。如果我用新文档替换它,菜单就会消失。