使用 JavaScript 检测通知弹出窗口

Posted

技术标签:

【中文标题】使用 JavaScript 检测通知弹出窗口【英文标题】:Detect notification popup using JavaScript 【发布时间】:2021-01-06 03:03:55 【问题描述】:

我正在为我使用的 Messenger 网站创建用户脚本。是否可以检测网站何时创建通知弹出(通常在屏幕右下方)并获取通知内容?

document.addEventListener('???', function(e)   // when I get notification popup(get message)
    // and get content of notification
);

【问题讨论】:

你有本站的源码吗? 否 - 网站是 Discord,我不是网站开发者。来自站点的 javascript 使用 webpack 进行了 uglified(打包),因此我无法从站点编辑原始 javascript 可以尝试hookwindow.Notification的'constructor',并在创建通知实例时获取内容。 【参考方案1】:

我相信在网站中有一个 Notifications API,您可以在这里查看:

https://developer.mozilla.org/en-US/docs/Web/API/Notifications_API

它具有请求权限、检测收听网站通知的所有功能。例如:

btn.addEventListener('click', function() 
  let promise = Notification.requestPermission();
  // wait for permission
)

【讨论】:

以上是关于使用 JavaScript 检测通知弹出窗口的主要内容,如果未能解决你的问题,请参考以下文章

Android学习笔记二十之Toast吐司Notification通知PopupWindow弹出窗

AngularJS页面uib-dropdown控件在模态窗口(弹出窗)中无法使用问题

Java Selenium - 处理页面弹出窗

wpf 右下角弹出窗

百度统计 可以统计页面上的JS的弹出窗的打开次数吗? 怎么实现?

支付弹出窗口被拦截解决办法