05-tilda-export-backup/Tilda_ Романс гибридной пехоты_files/tilda-collect-network-errors-1.0.min.js

2 lines
1.2 KiB
JavaScript
Raw Normal View History

2025-10-29 16:50:39 +00:00
var CHECK_TIME_MS=6e4,HEARTBEAT_MS=2e3,MAX_RETRIES=5,API_URL_FOR_COLLECT_ERROR="https://sysstat.tildacdn.com/api/net/error/";function watchForNetworkErrors(r,o){r=void 0!==r?r:Date.now(),o=void 0!==o?o:0,collectAndLogError().then((function(e){var t;e-r>CHECK_TIME_MS||setTimeout((function(){watchForNetworkErrors(r,o)}),HEARTBEAT_MS)})).catch((function(){++o<MAX_RETRIES&&setTimeout((function(){watchForNetworkErrors(r,o)}),HEARTBEAT_MS)}))}function collectAndLogError(){return new Promise((function(r,o){var e=document.querySelectorAll("script"),t=document.querySelectorAll("link"),n=Array.prototype.slice.call(e).concat(Array.prototype.slice.call(t)).filter((function(r){return r.onerror&&r.loaderr&&!r.errorLogged})),c;n.length?logError(n.map((function(r){return"SCRIPT"===r.tagName?{resourceType:"script",link:r.src}:{resourceType:"link",link:r.href}}))).then((function(){n.forEach((function(r){r.errorLogged=!0})),r(Date.now())})).catch((function(){o(Date.now())})):r(Date.now())}))}function logError(r){var o=JSON.stringify(r.map((function(r){return{resourceType:r.resourceType,link:r.link,originURL:window.location.href,type:"network"}})));return fetch(API_URL_FOR_COLLECT_ERROR,{method:"POST",headers:{"Content-Type":"application/json"},body:o})}watchForNetworkErrors();