如何检测每个页面加载?

How to detect each page load?

我试图在 https://forum.vivaldi.net

上捕获每个页面加载
//==UserScript==
//@include https://forum.vivaldi.net/*
//==/UserScript==
(function () {
    window.addEventListener('DOMContentLoaded', function () {
        alert('A new page is loaded');
    });
})();

每次我在地址栏中按下回车键时都会触发。

但是当我在论坛中从一个页面导航到另一个页面时没有任何反应。

为什么 DOMContentLoaded 没有在每次页面加载时触发?

该网站使用 Ajaxify 自动将所有站内链接转换为 XHR 请求。 DOMContentLoaded 没有在页面之间触发,因为 没有新页面加载 - 只是在后台下载内容并插入到当前页面。

您可以在浏览器开发人员工具的“网络”选项卡中点击 activity 来查看实际效果。

至于如何捕获此实例中的每个页面加载,请查看 events exposed by Ajaxify