问题描述
我想将 Adobe Analytics 包含在 HbbTV 应用程序中,该应用程序是在数字广播之上的智能电视上运行的 Web 应用程序。该库包含在 index.html
文件中的脚本标记中。
HbbTV 应用程序上的 index.html
文件实际上是 XML(即 Content-Type: application/vnd.hbbtv.xhtml+xml
),因此调用 XML 而不是 HTML 解析器。
Adobe 脚本在其初始化过程中的某个时间点将尝试将其自己制作的元素的 innerHTML 设置为具有有效 HTML 的字符串,但该字符串是无效的 XML。例如,它会分配一个像 <span id="ps-script" data-ps-id=1 />
这样的值,其中 XML 解析器会期待 <span id="ps-script" data-ps-id="1"></span>
。这样做的结果是会引发错误,从而阻止执行某些对于允许分析库继续初始化很重要的代码。
如何将 Adobe 库包含在我们的应用程序中并使其正确加载?
解决方法
较新的 HbbTV 电视(>= 1.3.1 或 2.0 版)都需要支持 text/html。 “较新”取决于制造商和国家/地区,有的可能是 5 年,有的可能是两年甚至一年。在英国和意大利,(几乎)都可能支持 text/html。在德国,情况可能要复杂得多。 1.0/1.5(又名 1.1.1/1.2.1)可能支持 text/html。你得试试看。 我意识到这不是最好的答案(特别是如果你在德国)。希望比我更了解 XHTML 的人能够帮助您找到一种适用于所有电视的正确技术方法,而无需“尝试看看”所涉及的风险/成本。