Итак, вот сделка. У нас есть приложение Flash, которое работает в HTML-файле. Для одной страницы мы вызываем устаревшую систему отчетности в ASP.NET, которая находится в пределах IFRAME. Эта страница затем передает обратно в приложении флэша с использованием междоменных сценариев (document.domain = «домен» устанавливаются в обеих страницах.История отслеживания IE, IFRAMES и ошибка кросс-домена
ЭТО ВСЕ РАБОТАЕТ.
Теперь кикер. Вспышка имеет включено отслеживание истории. Это загружает файл history.js, который создал Div тег изменений магазин страницы так назад и вперед кнопки работают в браузере.
который работает для Firefox и Chrome, поскольку они создают Div тег.
ОДНАКО
В Internet Explorer history.js создает еще один IFRAME (вместо DIV), называемый ie_historyFrame. Когда код ScriptResource.axd пытается получить доступ к этому с:
var frameDoc = this._historyFrame.contentWindow.document;
мы получаем «доступ запрещен» сообщение об ошибке. ARGH!
- Мы попытались получить дескриптор этого IFRAME и вставить код document.domain. ПОТЕРПЕТЬ НЕУДАЧУ.
- Мы попытались отредактировать файл historytemplate.html, который также использует flex.domain ... FAIL.
- Я попытался отредактировать базовую страницу ASP.NET, чтобы отключить историю отслеживание в ScriptManager управление. ПОТЕРПЕТЬ НЕУДАЧУ.
В конце моего остроумия на этом. У нас есть пользователи, которым необходимо использовать IE для доступа к этому сайту. Это большие клиенты, которых мы не можем просто использовать Firefox.
Любые предложения были бы весьма полезными.
Вам нужно управлять историей во Flash-приложении? Используется ли он? Вы можете отключить его с помощью параметра компилятора. –
Почему вы не добавили код 'document.domain =' в 'ie_historyFrame'? –