在 devtools 中查找对自己页面的第二次调用的来源

Finding source of second call to own page in devtools

调试页面时我看到对该页面进行了两次调用,一次是初始调用,一次是在收到第一次调用并且浏览器解析文档时进行的。但是,我无法找到第二个电话的来源。我已经构建了 javascript i 开发模式,所以我有 sourcemaps 但调用似乎源自 html 代码本身。查看 devtools 的网络选项卡我看到了这个 在 Chrome 和这个

在 Firefox 中

Firefox 似乎将 Initiator 识别为图像,但没有关于图像的更多详细信息。

我应该在代码中寻找什么来找到调用的来源?我还可以做些什么来获取有关呼叫来源的更多详细信息吗?

更新: 单击 Chrome 中的启动项标记文档中的第一个 Doctype 行

请求被识别为图像表示 <img> HTML 元素或具有 [=129= 的 url() CSS 函数] 引用文档本身而不是图像。

勾选HTML

根据我的测试,当 src 属性为空时不会发生这种情况,但当您将其设置为页面上的锚点时会发生这种情况。

所以,为了找到罪魁祸首,请转到 Inspector (Firefox) 或 Elements (Chrome)面板,按 Ctrl+F (Windows, Linux) 或 Cmd+F (macOS) 并搜索 img[src^="#"]。这会找到所有具有 src 属性且值以散列开头的 <img> 元素。

勾选CSS

当 CSS url() 函数设置为空字符串时,浏览器(错误地)发送网络请求,即 url()url('') 或 [=19] =].

要检查它是否设置在 HTML 元素之一的 style 属性中,请在 中搜索 url('')url() Inspector 如上所述。

如果在那里找不到,您需要在样式表中搜索。

Chrome

在Chrome中可以通过按Ctrl+Shift+F (Windows, Linux) 或 Cmd+Shift+F (macOS) 而焦点在 DevTools 中。这样做会打开一个搜索工具,允许搜索所有加载的源。在那里输入 url('') 然后点击 Enter。如果没有找到,请使用 url("")url().

再试一次

Firefox

不幸的是,在 Firefox 中还没有这样的全局搜索(从 Firefox 85 开始)。尽管还有两种其他方式可以通过样式表进行搜索。

  1. 通过样式编辑器
    Style Editor 允许您检查样式表,但您必须通过在左侧选择它然后按 Ctrl+ 分别搜索每个样式表F (Windows, Linux) 或 Cmd+F (macOS), 输入 url()url('')url("") 并按 Enter

  2. 通过网络监视器
    有一项功能可以让您 search through the network request reponses within the Network Monitor。单击放大镜按钮,打开搜索工具。在输入字段中键入 url()url('')url(""),然后按 Enter