Вот ситуация:Получение исключение JavaScript происходит в поверхности IFrame
- страница (
iframe.html
) имеет загрузку IFrame другой страницы (iframe-content.html
). - Ошибка JavaScript может произойти, когда
iframe-content.html
загружен в iframe. - Я хотел бы, чтобы это исключение было видимым для браузера (например, показано в Firefox error console или Firebug).
Вот что я вижу:
- При
iframe.html
начальной загрузке, и загружаетiframe-content.html
сsrc="iframe-content.html"
, исключение JavaScript показывает в Firebug. - Однако, если страница загружается в JavaScript (
document.getElementById('iframe').src = 'iframe-content.html'
), исключение не отображается.
Вы можете воспроизвести это, перейдя в:
- http://avernet.googlepages.com/iframe.html с Firefox.
- Вы увидите исключение, так как загружается
iframe-content.html
. - Нажмите на кнопку: содержимое iframe загрузится снова, но на этот раз исключение не отображается в Firebug.
Есть ли способ № 3 для исключения, вместо того, чтобы его молчаливо игнорировали? (Вы не можете использовать try/catch вокруг JS-кода, который устанавливает src, так как этот код возвращается непосредственно перед загрузкой страницы в iframe.)
То, что я описываю здесь, не является проблемой IE. С IE ошибка, возникающая при загрузке страницы в iframe, отображается браузером. – avernet
Работает для меня: нажатие «перезагрузка» выплевывает еще одну ошибку, как ожидалось. Но я действительно сомневаюсь в эффективности установки атрибута 'src' для значения, которое уже установлено. (Абсолютная абсолютность URL-адреса, изменение, на которое вы, возможно, не захотите полагаться.) – bobince