Я пытаюсь написать сценарий Greasemonkey, который работает с Gmail. Я знаю, как создать javascript, который реагирует на пользователя, нажимающего ссылку «Входящие» или ссылку «Обновить». Моя проблема заключается в том, что Gmail периодически обновляет почтовые ящики с помощью новых разговоров, и у меня нет способа захватить это событие. Есть ли способ захватить периодические события Ajax в javascript?Как захватить событие Ajax, которое периодически обновляет почтовый ящик gmail
ответ
Я попробовал отличное предложение Майлза выше, но, к сожалению, это не работает, потому что Gmail уже называется оригинал setTimeout, прежде чем у меня появится возможность изменить его в моем сценарии Greasemonkey.
Единственное, что я могу сделать, это как-то отреагировать на изменения, которые Gmail делает, когда он периодически обновляет почтовый ящик. Я обнаружил, что есть несколько связанных с DOM событий, что огнь, когда узел добавляется или удаляется:
http://www.w3.org/TR/DOM-Level-3-Events/events.html#event-DOMNodeInserted
Поскольку Gmail обновляет DOM с моими последними письмами, я могу слушать эти события DOM (я используя DOMNodeInserted) и реагировать на изменения.
Это не элегантный, но он работает.
Вы могли бы попытаться заменить window.setTimeout
функцию (и, возможно, window.setInterval
) с собственными функциями:
window._setTimeout = window.setTimeout;
window.setTimeout = function(func, delay) {
return window._setTimeout(function() {
// Your code goes here, before the client function is called
alert('A timeout event just fired!');
if (typeof func == 'string') {
eval(func);
} else {
func();
}
}, delay);
}
- 1. Получить почтовый ящик Gmail в формате HTML
- 2. Crawler для входа в почтовый ящик gmail
- 3. Приоритетный почтовый ящик Gmail через IMAP?
- 4. IMAP в почтовый ящик Gmail с XOAUTH
- 5. Восстановить почтовый ящик GMail с Indy 10
- 6. Получать входящий почтовый ящик Gmail через C#
- 7. Как отправить текстовые данные в почтовый ящик Gmail?
- 8. Как обновить почтовый ящик при поступлении нового сообщения (как Gmail)
- 9. Почтовый ящик фляжки или почтовый ящик
- 10. Как узнать, был ли почтовый ящик успешным с помощью gmail?
- 11. Реализация андроидной анимации, такой как почтовый ящик gmail
- 12. Как получить почтовый ящик gmail с Meteor percolate: google-api?
- 13. Автоматический поддельный почтовый ящик
- 14. Как заказать почтовый ящик?
- 15. Как работает почтовый ящик Yahoo?
- 16. Я хочу открыть почтовый ящик gmail через мое приложение
- 17. Чтение Gmail почтовый ящик с андроид 4,2 до
- 18. Вложение изображения в почтовый ящик
- 19. Почему я не могу прочитать почтовый ящик gmail?
- 20. Не удалось создать почтовый ящик Gmail В Vtiger
- 21. Можно ли добавить функцию «поиска» в почтовый ящик «Почтовый ящик»?
- 22. Как дублировать почтовый ящик IMAP
- 23. Как создать почтовый ящик Exchange?
- 24. Японский текст как почтовый ящик
- 25. Elm: как работает почтовый ящик?
- 26. Как использовать почтовый ящик в обработчике событий
- 27. Почтовый ящик для андроидов
- 28. «SmtpFailedRecipientException: Почтовый ящик недоступен», когда почтовый ящик доступен
- 29. Почтовый ящик Magento отправляет
- 30. Почтовый ящик на сайте
Это отличная идея. К сожалению, пока это не работает. Я попытался заменить оба window.setTimeout и window.setInterval, и я не получаю никаких предупреждений. Интересно, что Gmail уже вызвал эти функции, прежде чем я их заменил в сценарии Greasemonkey. –
Я даже тестировал, что замена функций setTimeout и setInterval работает, вызывая их в сценарии Greasmonkey. Как и ожидалось, я вижу предупреждения. Моя проблема заключается в том, что Gmail уже вызвал setTimeout или setInterval до запуска сценария Greasemonkey. –