При запуске пользовательского Javascript, есть ли способ обнаружить и остановить «проблемные» сценарии?

На странице что-то вроде jsFiddle, который выполняет пользовательский Javascript, есть ли способ остановить / прервать «проблемные» сценарии, работающие в iframe?

Думаю, основным классом проблемных сценариев будут бесконечные циклы. Браузеры хорошо справляются с несколькими предупреждениями, но, например, скрипт для (var i = 0; ++ i; i <100) {/ * do stuff * /} будет продолжаться вечно.

Как я могу либо обнаружить и не бежать, либо бежать и останавливаться, скажем, после 10 секунд работы, сценарий?

Удаление iframe - это нормально, но я хочу удалить его, только если сценарий все еще выполняется через 10 секунд, но я не хочу удалять его, если сценарий остановлен.


Вот как я представляю, что страница будет работать. Если у вас есть лучшее решение, дайте мне знать ...

Страница ввода содержит текстовое поле и пустой фрейм . Пользователь вводит свой скрипт в текстовое поле , и когда он готов, он нажимает и запускает . Затем (за кулисами) создается отдельная страница, содержащая пользовательский скрипт в исполняемой форме на странице HTML. Источник iframe установлен на страницу с исполняемым кодом. Все это происходит динамически без обновления страницы.

10
задан Peter Ajtai 11 September 2010 в 23:46
поделиться