我一直致力於在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. 強制背景圖像重新加載
- 2. 強制重新加載javascript
- 3. 強制NSBrowser重新加載
- 4. 如何強制RCP重新加載表內容
- 5. 強制重新加載uiwebview
- 6. 重新加載列表視圖顯示新舊內容
- 7. 視圖控制器不加載內容
- 8. Java/SWT/JFace強制重新加載GUI?
- 9. 重新加載Eclipse視圖
- 10. 如何強制重載頁面而不從服務器重新下載內容(只強制重新計算CSS)?
- 11. PHP重新加載內容
- 12. UIPicker重新加載內容
- 13. 強制加載/卸載視圖
- 14. XCode:重新加載視圖控制器實例的新視圖
- 15. 重新加載視圖控制器swift
- 16. 重新加載視圖控制器
- 17. 重新加載iOS視圖控制器
- 18. iOS - 強制UIWebView加載內容?
- 19. 重新加載UIPickerView內的內容
- 20. 在android中重新加載內容視圖
- 21. 如何強制重新加載實體?
- 22. 重新加載視圖
- 23. 強制重繪視圖
- 24. 重新加載視圖iPhone
- 25. Livereload和Chrome。強制重新加載
- 26. 強制TinyMCE重新加載插件
- 27. 如何強制一個iFrame重新加載一次它加載
- 28. 如何強制重新加載腳本並重新執行?
- 29. 重新加載視圖控制器上的數據關閉
- 30. 重新加載視圖?
在Swift2中獲取客戶端服務器示例應用程序@ https://github.com/phanisai4u/sampleAppsSwift/tree/master/TvOSClientServerBasisSample/TestTvOS –