Ada*_*yer 5 google-chrome kiosk google-chrome-extension
我有一个处理人物肖像的小亭子.它以chrome运行.
使用信息亭的200人中有一人最终会在此过程中冻结.当它冻结时,我永远不会得到"啊快照",页面有点挂起.
我想知道是否有可能进行扩展以监控页面并检查心跳 - 如果在30秒后没有看到重新加载窗口.
任何帮助都会很棒.
让信息亭页面中的内容脚本每隔X秒将消息发送回后台页面
在内容脚本中:
var port = chrome.extension.connect({ name: "keep-alive" });
port.postMessage('is-alive', { alive: true });
setInterval(function () {
port.postMessage('is-alive', { alive: true });
}, 1000 * 15);
Run Code Online (Sandbox Code Playgroud)如果后台页面检测到消息在一定时间后仍未返回,则重新加载选项卡
在后台页面中:
var last = Date.now();
var interval = 1000 * 15;
chrome.extension.onConnect.addListener(function (port) {
if (port.name === 'keep-alive') {
port.onMessage.addListener(function (data) {
if (data.type === 'is-alive' && data.payload.alive === true) {
last = Date.now();
}
});
}
});
setInterval(function () {
if (Date.now() - last > interval) {
// Reload the tab...
}
}, interval);
Run Code Online (Sandbox Code Playgroud)有关重新加载选项卡的信息,请参阅chrome.tabs文档.您需要在tabs清单中添加权限列表.
如果您想了解有关消息传递的更多信息,请参阅消息传递文档.
| 归档时间: |
|
| 查看次数: |
2815 次 |
| 最近记录: |