Here's how I managed to detect a page drop in my Chrome extension:
- the background script should send a βcheckβ message to the content script at intervals, and the content script should return a response.
- If the page crashes, the response to the background script will be vague, then do what you need. In my case, refresh the page.
content_script: ... chrome.runtime.onMessage.addListener(function(msg, sender, sendResponse) { if (msg.action == 'page_check') { sendResponse('OK'); } });
background.js: ... setInterval(() => { chrome.tabs.query({ url: 'http://<your_page_defined_in_manifest>' }, function (tabs) { if (tabs.length > 0) { chrome.tabs.sendMessage(tabs[0].id, { action: "page_check" }, function (response) { if (!response) { chrome.tabs.reload(tabs[0].id); } }); } }); }, 60000);
mstephano
source share