Нет, нет никакого способа сделать это, представьте, что злонамеренный пользователь пишет скрипт, который замедляет работу вашего браузера до тех пор, пока он не станет полностью непригодным для использования, теперь предупреждение «Медленный скрипт» может прийти на помощь, но что, если он сможет его перехватить и предотвратить? это из показа?
Вам нужно будет найти решение для основной проблемы, то есть, если вы делаете много вычислений (что, я полагаю, вы делаете), вам нужно разделить их на куски, поместить их в очереди и обрабатывать их асинхронно (если возможно) или по порядку, но с небольшим временем ожидания между ними.
В псевдокоде это может выглядеть так:
var queue = []; // put your functions or the data in here
function() processQueue{
if (queue.length > 0) {
var item = queue.shift() // pop of the first item of the queue
item(); // call the function, or in case of data pass it to th processing function
setTimeout(processQueue, 100); // wait 100 ms before processing the next chunck
}
}
setTimeout(processQueue, 0);