head 标签中断 javascript 代码之前的注释

Comments before head tag breaks javascript code

提问人:Professorval 提问时间:11/10/2023 最后编辑:Alexander NiedProfessorval 更新时间:11/10/2023 访问量:56

问:

我正在编写由在 IE 7 实例中运行的 PC 客户端解析的其他 javascript 代码。

我正在修改的原始 HTML 代码没有 doctype 声明和 html meta 标记。此外,原始 HTML 代码在开始的 HTML 标记之后立即有一个多行注释,如下所示:

<html>
       <!-- 
              Some comments 
              Some more comments 
              Some more comments 
       -->
       <head>
       </head>

       <body>
       </body>
</html>

当我添加 doctype 声明和 meta 标记以使代码如下所示时:

<!DOCTYPE html>
<html>
       <!-- 
              Some comments 
              Some more comments 
              Some more comments 
       -->
       <head>
              <meta name="viewport" content="width=device-width,initial-scale=1">
              <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
       </head>

       <body>
       </body>
</html>

当我尝试 DOM 操作时,我开始收到奇怪的错误,例如 Object 不支持属性或方法“query Selector”。 我知道在打开 html 标签后立即发表评论可能是无效的 HTML,但我无法重新定位评论,因为这会导致 PC 客户端的其他部分失败。我无法访问 PC 客户端的源代码,我认为它是用 C# 编写的。

我能做些什么?

JavaScript 的HTML 互联网浏览器-7

评论

0赞 Mark Schultheiss 11/10/2023
of IE 7- 如果该浏览器暴露在内部网络之外,请考虑使用更现代的浏览器,因为该版本(或任何 IE 版本)不再受支持,并且现在或将来可能存在安全问题,并且随着时间的推移可能无法在越来越多的站点上运行。
0赞 Kaddath 11/10/2023
也许该网站只能在 IE7 中工作,因为缺少 DOCTYPE 触发了怪癖模式?参见 wikipedia 页面关于 quirks 模式,注意,正如答案所述,如果你不能让你的客户端升级浏览器,你只需要使用浏览器支持的 JS 函数 / CSS
0赞 Mark Schultheiss 11/10/2023
来自 Microsoft:“对 Internet Explorer 的支持已于 2022 年 6 月 15 日结束。Internet Explorer 11 已通过某些版本的 Windows 10 上的 Microsoft Edge 更新永久禁用。如果您访问的任何站点需要Internet Explorer 11,则可以在Microsoft Edge中使用Internet Explorer模式重新加载它。祝你好运,因为它将来可能会遇到更多的挑战。至于你的问题:用其他东西替换电脑客户端。
0赞 Keyboard Corporation 11/10/2023
IE,它的大部分js功能都运行不好,如果IE.7是首选浏览器,我建议你使用.这意味着querySelector无法使用,因为它仅在最新的浏览器中运行,并且您使用的是IE支持的jQueryfind and filter 也没有在 IE 中运行,indexOf 是您可以替换的。polyfill

答:

0赞 Quentin #1

Internet Explorer 7 非常古老。它不支持 querySelector