Gmail 外部帐户的“立即检查邮件”快捷方式

问题描述 投票:0回答:2

https://mail.google.com/mail/u/0/#settings/accounts 上有一个选项可以检查其他帐户的电子邮件。通常,Gmail 每 60 分钟检查一次这些帐户中是否有新邮件。使用“立即检查邮件”按钮,您可以手动触发此操作。

有谁知道这个按钮是否可以通过 url / 快捷方式 / api 触发?我想为自己创建一个按钮/脚本,以便在我想检查新邮件时按下。

gmail
2个回答
5
投票

我通过这个链接解决了这个问题: 教程链接

现在我有一个带有 javascript 命令的书签,可以自动单击 4 次以到达“立即检查电子邮件”。

希望对你也有帮助。

这是javascript中的代码:

 (function () { const gmailWindow = window;
 if(gmailWindow.location.href.indexOf("https://mail.google.com/") === -1){ 
   alert('É preciso estar no Gmail para utilizar este recurso.');
   return;
  } 
gmailWindow.location.assign('https://mail.google.com/mail/u/0/#settings/accounts');
 const xpath = "//span[text()='Ver correio agora']";
 const refreshAccounts = () => { const selectedNodeElements = gmailWindow.document.evaluate(xpath, gmailWindow.document, null, XPathResult.ANY_TYPE, null);
    let currentNode = selectedNodeElements.iterateNext();
if (currentNode === null) {
       setTimeout(refreshAccounts, 100); 
} else { 
    while (currentNode) { currentNode.click(); currentNode = selectedNodeElements.iterateNext();

 }; 

gmailWindow.location.assign('https://mail.google.com/mail/u/0/#inbox'); }; }; 
setTimeout(refreshAccounts, 100); })();

0
投票

下面的代码将检查任何 Gmail 选项卡。是用户 0 1 2

javascript:(function() { const gmailWindow = window; if (gmailWindow.location.href.indexOf("https://mail.google.com/") === -1) { alert('You have to run the bookmarklet from a Gmail window'); return; } const accountNumberMatch = gmailWindow.location.href.match(/\/u\/(\d+)\//); if (!accountNumberMatch) { alert('Unable to determine the account number'); return; } const accountNumber = accountNumberMatch[1]; const settingsUrl = `https://mail.google.com/mail/u/${accountNumber}/#settings/accounts%60; const inboxUrl = %60https://mail.google.com/mail/u/${accountNumber}/#inbox%60; gmailWindow.location.assign(settingsUrl); const xpath = "//span[text()='Check mail now']"; const refreshAccounts = () => { const selectedNodeElements = gmailWindow.document.evaluate(xpath, gmailWindow.document, null, XPathResult.ANY_TYPE, null); let currentNode = selectedNodeElements.iterateNext(); const clickWithDelay = () => { const clickPromises = []; while (currentNode) { const promise = new Promise((resolve) => { currentNode.click(); resolve(); }); clickPromises.push(promise); currentNode = selectedNodeElements.iterateNext(); } Promise.all(clickPromises) .then(() => { setTimeout(() => { gmailWindow.location.assign(inboxUrl); }, 4000); }); }; setTimeout(clickWithDelay, 0); }; setTimeout(refreshAccounts, 1000); })();
© www.soinside.com 2019 - 2024. All rights reserved.