HTML、Javascript和嵌入HTML中的Javascript中的非标准标签



我有一个进程在我的Web服务器和外部世界之间运行,它对Web服务器交付的流量进行了一些更改。这是一个第三方过程。除了这个过程完成的其他工作之外,它还向web服务器交付的页面添加了一些标记行。根据第三方的说法,这些标签不是标准的HTML标签,因此会被浏览器忽略。

假设原行为

<script type="text/javascript"> 
    var a = true;
    function whatever() 
    {
        if(a)
           return true;
    }
</script>

然后通过过滤器后,行可能被转换成

<script type="text/javascript"> 
<XYZ MY TAG>
    var a = true;
</XYZ>
    function whatever() 
    {
        if(a)
           return true;
    }
</script>

现在,如果浏览器/javascript引擎不能识别XYZ标签,标准是否说明它将做什么?根据提供此过程的第三方,在转换之前和之后的行为将是相同的。

我正在寻找一些参考在标准文档中说这是真的

  1. 纯HTML
  2. JS文件中的Javascript
  3. 在HTML文件中嵌入Javascript。

有人能帮忙吗?我用IE做了一些基本的测试。

普通HTML

它不会被忽略。它将作为一个未知元素添加到DOM中。(规范).

JavaScript

JavaScript不是HTML。它会像JavaScript一样被解析。由于无效,它将抛出异常。

HTML脚本标签

由于它在<script>标签之后,</script>标签之前,并且是一个不是</script>的"标签":HTML解析器不将其视为标签并将其传递给JavaScript引擎。(规范)

因为它不是有效的JS, JS引擎会抛出一个异常。

最新更新