我一直致力於在Apple TV上爲tvOS應用程序頻繁更改內容而動態生成tvml模板。生成模板工作正常,但我無法讓應用更新/重新加載視圖之間來回導航或離開和重新進入應用時的模板內容。只有重啓似乎重新加載tvml模板。強制視圖重新加載Apple TV/tvos上的tvml內容
3
A
回答
2
無論何時在模板文檔中操作TVML,您的模板都會自動刷新。
如果保持像這樣的文件的引用:
var myDoc;
resourceLoader.loadResource(templateURL,
function(resource) {
if (resource) {
myDoc = self.makeDocument(resource);
});
}
你可以操縱使用myDoc的TVML和您的視圖將自動更改。
所以,如果您的模板文件包括了「collectionList」和你運行該代碼:
//Removes the child elements of the first collectionList
var collectionLists = myDoc.getElementsByTagName("collectionList");
var collectionList = collectionLists.item(0);
while (collectionList.firstChild) {
collectionList.removeChild(collectionList.firstChild);
}
您的觀點將不再顯示collectionList內的UI元素。視圖將在代碼運行時刷新自己。
0
@shirefriendship的答案指出我的方向正確(謝謝!)。再舉一個例子,如果你想改變一個模板(如描述)的單個元素的文本,你就需要使用innerHTML
屬性:
function changeDescription(incomingString) {
console.log("inside the change description function")
if (incomingString) {
var theDescription = myDoc.getElementsByTagName("description").item(0);
theDescription.innerHTML = incomingString;
}
}
這將立即更改描述給觀衆。
1
如果您使用atvjs框架,您可以輕鬆創建並導航到導航時重新生成的動態頁面。
ATV.Page.create({
name: 'home',
url: 'path/to/your/api/that/returns/json',
template: your_template_function
});
// navigate to your page
ATV.Navigation.navigate('home');
0
設置這在您的API的報頭:
緩存控制:無緩存
重要
當ser通過Web服務器瀏覽JavaScript和XML文件,您經常需要 以確保對您的頁面所做的任何更改始終對客戶端應用程序 可見。爲此,您的服務器必須確保客戶端 不緩存任何頁面。當服務器響應HTTP 請求不應緩存的頁面時,服務器應在 的HTTP響應頭中包含Cache-Control:no-cache。
相關問題
- 1. 強制重新加載javascript
- 2. 強制NSBrowser重新加載
- 3. 如何強制RCP重新加載表內容
- 4. Java/SWT/JFace強制重新加載GUI?
- 5. 重新加載Eclipse視圖
- 6. UIPicker重新加載內容
- 7. 如何強制重載頁面而不從服務器重新下載內容(只強制重新計算CSS)?
- 8. 強制加載/卸載視圖
- 9. XCode:重新加載視圖控制器實例的新視圖
- 10. 重新加載視圖控制器swift
- 11. 重新加載iOS視圖控制器
- 12. 重新加載UIPickerView內的內容
- 13. 重新加載視圖
- 14. 如何強制重新加載實體?
- 15. 重新加載視圖iPhone
- 16. 強制重繪視圖
- 17. 重新加載視圖控制器上的數據關閉
- 18. 如何強制重新加載腳本並重新執行?
- 19. 強制用戶重新加載頁面
- 20. 強制瀏覽器重新加載index.htm
- 21. 如何強制重新加載WebImageView?
- 22. 強制eclipse重新加載Python模塊
- 23. 強制RequireJS文本!重新加載
- 24. 滾動時重新加載新內容
- 25. 重新加載UITableView的內容
- 26. 使用TabBar控制器,重新加載/重新分配視圖
- 27. 加載firebase數據時重新加載視圖控制器swift
- 28. 當從Utility應用程序的FlipSideView返回時強制重新加載視圖
- 29. 強制Firefox重新加載後退按鈕上的頁面
- 30. 如何強制在iPhone中重新加載圖像URL的TTPhotoViewController?
在Swift2中獲取客戶端服務器示例應用程序@ https://github.com/phanisai4u/sampleAppsSwift/tree/master/TvOSClientServerBasisSample/TestTvOS –