У меня есть следующий сценарий:
- Главная страница
- Вложенная страница
- Общий JS файл (который включен в обе страницы)
Вложенная страница затем загружается в iframe главной страницы. Обе страницы ссылаются на функцию из общего JS файла при загрузке страницы.
Живая демонстрация:
http://www.ecmazing.com/misc/pause-execution/mainpage.html
http://www.ecmazing.com/misc/pause-execution/nestedpage.html
http://www.ecmazing.com/misc/pause-execution/common.js
Общий JS файл содержит одну глобальную функцию, которая окрашивает элемент H1 в красный цвет. Я хотел бы приостановить выполнение в начале этой функции, так что выполнение приостанавливается, пока элемент H1 все еще черный.
Как это сделать на главной странице:
Это тривиально. Просто загрузите страницу, откройте инструменты разработчика браузера, выберите файл common.js и установите точку прерывания в первой строке функции. Теперь перезагрузить страницу. Точка прерывания будет упорствовать перезагрузкой, и выполнение будет приостановлено.
Как сделать это на вложенной странице:
Теперь, в Chrome и Firefox (Firebug), точка останова, которая была установлена выше (для главной страницы), также будет работать для вложенной страницы. Обе страницы используют один и тот же JS файл, и установка точки останова в этом файле будет применяться для обеих страниц автоматически. К сожалению, это правило не относится к IE.
И что еще хуже, даже если я установил точку прерывания впоследствии, а затем перезагрузить iframe только, точка останова будет не.
Итак, я не знаю, как приостановить выполнение для вложенной страницы в IE. Это можно сделать? (Я имею дело с этим, вручную установив debugger;
в начале функции, но мне бы хотелось, чтобы это было возможно установить точку прерывания через инструменты dev в IE, если это возможно.)