在基于 XML 的 Web 应用程序中包含导致 XML 解析错误的库

问题描述

我想将 Adob​​e 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>。这样做的结果是会引发错误,从而阻止执行某些对于允许分析库继续初始化很重要的代码

如何将 Adob​​e 库包含在我们的应用程序中并使其正确加载?

解决方法

较新的 HbbTV 电视(>= 1.3.1 或 2.0 版)都需要支持 text/html。 “较新”取决于制造商和国家/地区,有的可能是 5 年,有的可能是两年甚至一年。在英国和意大利,(几乎)都可能支持 text/html。在德国,情况可能要复杂得多。 1.0/1.5(又名 1.1.1/1.2.1)可能支持 text/html。你得试试看。 我意识到这不是最好的答案(特别是如果你在德国)。希望比我更了解 XHTML 的人能够帮助您找到一种适用于所有电视的正确技术方法,而无需“尝试看看”所涉及的风险/成本。