【问题标题】:Updating the "Hero Image" in a TVOS template更新 TVOS 模板中的“英雄形象”
【发布时间】:2016-02-14 18:29:53
【问题描述】:

我正在尝试在 TVOS productTemplate 中动态更新英雄图像源。

我可以为描述执行此操作,例如:

function changeDescription(incomingString) {
    if (incomingString) {
        var theDescription = myDoc.getElementsByTagName("description").item(0);
        theDescription.innerHTML = incomingString;
    }
}

.. 但它不适用于英雄图像的 src 值:

function changeHeroImage(incomingString) {
    console.log("local path: " + incomingString)
    if (incomingString) {
        var theHero = myDoc.getElementsByTagName("heroImg").item(0);
        var theHeroSrc = theHero.getAttribute("src");
        theHeroSrc.value = incomingString;
        // theHeroSrc.innerHTML = incomingString;
    }
}

我已验证路径正确;我还应该看什么?

【问题讨论】:

    标签: javascript tvos tvml tvjs


    【解决方案1】:

    试试setAttribute

    theHero.setAttribute('src', incomingString)
    

    【讨论】:

    • 是的,成功了!谢谢你。有趣的是,更新英雄图片并不会更新背景——但这是另一个问题。
    【解决方案2】:

    更新图片应该使用src属性,而不是value

    function changeHeroImage(incomingString) {
        console.log("local path: " + incomingString)
        if (incomingString) {
            var theHero = myDoc.getElementsByTagName("heroImg").item(0);
            theHero.src = incomingString;
        }
    }
    

    【讨论】:

    • 这是有道理的,但图标仍然没有改变(至少在我的模拟器中)。我检查了传入的字符串是否正确,theHero 似乎是正确的 IKDOMElement。
    • 已确认,也不适用于真正的 AppleTV。 TVJS 可能对此有不同的语法吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多