gpt4 book ai didi

swift - tvml 中的相对链接?

转载 作者:行者123 更新时间:2023-11-28 12:15:12 25 4
gpt4 key购买 nike

tvml 中可以使用相对链接吗?我在网页中使用它们从来没有遇到过问题,但就是无法在我的 tvml 文档中使用它们。

来 self 的 swift :

static let TVBaseURL = "http://localhost:9001/"

这目前在我的 tvml 中工作,它位于 http://localhost:9001/templates/home.xml

 <lockup onselect="getDocument('templates/Featured.xml')">
<img src="http://localhost:9001/graphics/icons/ICON_featured.png" width="313" height="600" />
</lockup>

请注意,onselect 链接是相对的并且工作正常。但是这不起作用...

<lockup onselect="getDocument('templates/Featured.xml')">
<img src="../graphics/icons/ICON_featured.png" width="313" height="600" />
</lockup>

最佳答案

这完全取决于您如何定义 getDocument 函数。但是从您的代码来看,它很可能看起来有点像 official TVML Programming Guide, sec 8-3 中的代码。 .

function getDocument(extension) {
var templateXHR = new XMLHttpRequest();
var url = baseURL + extension;

loadingTemplate();
templateXHR.responseType = "document";
templateXHR.addEventListener("load", function() {pushPage(templateXHR.responseXML);}, false);
templateXHR.open("GET", url, true);
templateXHR.send();
}

它像您的代码一样使用预设的 baseURL。因此,您的获取文档支持相关链接。 (而不是通用链接。放入完整的 http://localhost:9001/index.xml 会破坏它。)

在此示例中,XMLHttpRequest 对象的open 函数采用完整的 url,而不是相关的 url。阅读更多关于 XMLHttpRequest open here 的信息.

简而言之。这里没有什么是相对的。

但是,您可以借助 Javascript 的强大功能来做类似的事情。

当您获得 XML 文档时,您可以找到所有带有 document.getElementsByTagName("img") 的标签,这会为您提供图像元素的列表。然后剩下要做的就是用 .item(i) 查看它们中的每一个,通过 .getAttribute('src') 获取它们的源属性,看看是否它以 http 或 https 开头,如果不是,则通过 .setAttribute('src', baseUrl+imagePath)

设置新的

关于swift - tvml 中的相对链接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46868439/

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