如何在我的页面上找到源或流氓角色?[关闭]

How do I find the source or a rogue character on my page? [closed]

提问人:Matthew Scouten 提问时间:10/3/2023 最后编辑:Matthew Scouten 更新时间:10/3/2023 访问量:59

问:


编辑问题以包括所需的行为、特定问题或错误以及重现问题所需的最短代码。这将帮助其他人回答这个问题。

上个月关闭。

此帖子在上个月经过编辑并提交审核,但未能重新打开该帖子:

原始关闭原因未解决

我有一个非常简单的基于 Web 的内部工具。它总共有 20 行 css 和 40 行 js。

某些东西在页面上插入了一个“}”字符,这在 html 中是不可见的

这是页面的屏幕截图:

screenshot shows and extra } before a table

以下是发送给客户端的 html 的摘录:

<div id="content">

<h2>Global State</h2>
<!-- before tag-->
<!--table start--> 
<table>
    <thead>
    <tr>
        <th></th>

正如你所看到的,标题和表之间没有}。您可以看到我添加到模板中的 2 条注释,以尝试对此进行调试。

以下是 dom 在浏览器调试中的样子:

picture of a DOM tree showing a } between 2 comments and a table tag

它位于注释和表格标签之间。

正如我所说,这个项目中有 20 行超级简单的 css。刚好足以给表格边框和颜色一些警报红色。有一点点 js 来支持一些表单和按钮,但它都不指向这个表,而且大部分都不在这个页面上。我用一把细齿梳子梳子过来了。

这看起来很微不足道,但它正在分散注意力。

这个流氓}还能从哪里来?

我可以让 firefox 告诉我来源吗?

其他调试信息:在页面下方确实有一个 },在 或 中没有。<table><td><th>

javascript html css, dom firefox

评论

0赞 LSE 10/3/2023
可能在这 40 行 JS 中。请将这些行添加到您的问题中。
0赞 Brett Donald 10/3/2023
对于此类问题,您可以保存页面源代码的本地副本,确保本地副本显示问题,然后从中剪切部分,直到问题消失,然后您就确定了问题部分。继续将其分成更小的部分,直到找到根本原因。
0赞 Matthew Scouten 10/3/2023
致关闭此内容的 mod:它显然不需要更多的调试信息,因为提供的信息足以让@alochi提供解决方案。这种瘙痒的扳机指闭合是破坏这个网站作为寻求帮助的地方的部分原因。我很幸运,在接近每个任务的强盗得到答案之前得到了答案。
0赞 Mark Rotteveel 10/4/2023
alochi 能够对问题做出猜测这一事实并不能证明这不应该被关闭。您应该在问题中包含一个最小的可重现示例

答:

3赞 Alohci 10/3/2023 #1

将位于表标记内的某个位置,但不在 和 标记之间。HTML解析器将其从表中弹出,并在称为 foster parenting 的进程中将其移动到表之前,这是您在 DOM 文档中看到它的位置。}<td></td>

评论

0赞 Matthew Scouten 10/3/2023
是的,就是这样,谢谢。我通常不在前端工作。我主要是一个后端人员。我只是在做前端,因为它是一个内部工具,主要是后端。我什至不知道寄养父母是一回事。(这有点好笑,因为我正在开发的功能被称为“孤儿收养”。