Murinedj 发表于 2023-6-27 10:42

网页未读邮件windows弹窗提醒

本帖最后由 Murinedj 于 2023-6-27 10:52 编辑

因为工作需要经常查看邮件,现写一个js代码用于固定时间刷新邮箱界面并监控新增的未读邮件,再弹出Windows弹框提醒

// 获取按钮元素,不同界面直接替换该XPATH即可
let button = document.evaluate('/html/body/section/article/section/div/div/section/article/div/div/div/div/div/div/span', document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue;

// 设置定时器,每隔一定时间点击按钮
let timer = setInterval(() => {
button.click();
var now = new Date();
var time = now.getHours() + ':' + now.getMinutes() + ':' + now.getSeconds();
console.log(time + '邮件均为已读');
// 如果有邮件数字,则弹窗
if (document.getElementById("mltree_3_span").children.innerText !== "") {
      // alert("您存在未读邮件,请注意");
      if (Notification.permission === "granted") {
                var notification = new Notification("通知标题", { body: "您存在未读邮件,请注意" });
      } else if (Notification.permission !== "denied") {
                Notification.requestPermission().then(function(permission) {
    if (permission === "granted") {var notification = new Notification("通知标题", { body: "您存在未读邮件,请注意" });
    }
                });
      }
}
// 刷新时间,此为30s
}, 30000);

直接在邮箱界面按F12进入控制台,把代码复制进入控制台执行即可,无限循环监控,结束直接关网页就行
理论上COREMAIL的邮箱默认界面都能通用,其他企业邮箱需要该XPATH和控件名称。提供思路具体邮箱页面具体修改
代码逻辑:每隔30s刷新邮箱(通过xpath路径定位刷新按钮),监控左侧“未读邮件”控件中是否出现数字,有则alert弹窗(即浏览器弹窗提醒)

空竹 发表于 2023-6-27 11:03

这个通知很好用,js真是强大,

空竹 发表于 2023-7-5 10:58

建议:

if (Notification.permission === 'granted') {
var notification = new Notification('提醒', {
    body: '这是一个通知'
});

// 点击通知时的回调函数
notification.onclick = function() {
    window.focus(); // 激活浏览器窗口
    notification.close(); // 关闭通知
};
} else {
Notification.requestPermission().then(function(permission) {
    if (permission === 'granted') {
      // 用户授权通知权限后可以创建通知
      var notification = new Notification('提醒', {
      body: '这是一个通知'
      });

      // 点击通知时的回调函数
      notification.onclick = function() {
      window.focus(); // 激活浏览器窗口
      notification.close(); // 关闭通知
      };
    }
});
}

可添加一个onclick事件,点击通知自动激活浏览器邮箱页面~

Kls673M 发表于 2023-6-27 11:36

这个是一次运行就可以了吗?还需要挂后台不?

cflying 发表于 2023-6-27 11:44

更近一步,再完善完善升级成扩展插件

HA? 发表于 2023-6-27 11:53

Kls673M 发表于 2023-6-27 11:36
这个是一次运行就可以了吗?还需要挂后台不?

肯定需要挂后台,关网页就结束了

twl102841 发表于 2023-6-27 12:01

markmark

jiangbeiguyan 发表于 2023-6-27 12:03

好历害,试一试

Kls673M 发表于 2023-6-27 12:45

HA? 发表于 2023-6-27 11:53
肯定需要挂后台,关网页就结束了

那如果是win10以上系统不是可以直接登录邮箱可以同步信息的

luchun0112 发表于 2023-6-27 13:17

如果能做成插件一直挂后台运行就好了

wu_yang007 发表于 2023-6-27 14:14

本帖最后由 wu_yang007 于 2023-6-28 13:10 编辑

大神可以读验证码吗


网页贴吧每次都要验证码(放一个粗糙的ahk)---说明QQ右下脚有邮件提醒自动打开


#Persistent
#SingleInstance,force
;DetectHiddenWindows,on
SetTitleMatchMode,2
taget:="@qq.com";窗口必须在主窗口显示标题时 才有效
SetTimer, WatchWindows, 1000

return

WatchWindows:
    WinGetPos, X, Y, Width, Height, %taget%
      if (x>=A_ScreenWidth/2 and x<A_ScreenWidth) and (y>=A_ScreenHeight/2 and y<A_ScreenHeight)
            MouseClick, Left, 1120, 760;参数不咋可靠,自己调试下
Return


+Esc::
    SetTimer, WatchWindows,Off
   
Return



页: [1] 2
查看完整版本: 网页未读邮件windows弹窗提醒