Печать приложения Flex 4 в Firefox с использованием печати через браузер - PullRequest
3 голосов
/ 16 ноября 2011

Существует широко известная проблема с печатью содержимого Flash в браузерах Firefox и Chrome. Итак, одно решение было создано "AnyCharts". Но, похоже, оно не работает. Я также пытался реализовать последняя версия компонента , который теперь размещен и Google Code. Я сделал точно так, как предписывает руководство, но он все еще не работает. Ребята из AnyChart на своей странице блога говорят, что что-то должно быть сделано и с CSS , но, как видно из руководства на домашней странице Flash-Print-Fix , в настройках CSS нет упоминаний.

Мой код работает так:

В HTML я подключаю класс JavaScript, поставляемый с Flash_Print-Fix:

<script type="text/javascript"  src="lib/FlashPrintFix.js"></script>

В приложении Flex я поместил эту строку в обработчик FlexEvent.UPDATE_COMPLETE для серии диаграмм:

private function  onLineComplete(e:Event):void{

     FlashPrintFix.initializeApp();
    }

Не работает. Предварительный просмотр печати все еще пуст.

У кого-нибудь есть подробное объяснение настройки, как решить эту проблему? Спасибо.

Обновление: После некоторых более глубоких исследований я обнаружил проблему. Дело в том, что внутри утилиты Flex FlashPrintFix критически важна следующая строка:

 ExternalInterface.call("FlashPrintFix.setImg", ExternalInterface.objectID,    _base64encoder.toString());

Параметр ExternalInterface.objectID должен быть установлен, в противном случае сторона JS утилиты не найдет объект Flash. По-прежнему не понимаю, почему, если я внедряю Flash, используя один из доступных плагинов JQuery, внешний empty.So обходной путь заключается в том, чтобы жестко набрать идентификатор объекта Flash в классе JS утилиты: Внутри FlashPrintFix.js:

FlashPrintFix.setImg = function(objId, imgData) {
   var obj = document.getElementById(yourFlashObjectID");
 ...
 .....

1 Ответ

2 голосов
/ 17 ноября 2011

Напишите еще немного кода, чтобы помочь.

Пример кода в этой ссылке отлично работает для меня.предварительный просмотр пришел как приложение.Он создал изображение и поместил его в html под флэш-контент, как

Print Flash

Проверьте, где вы оставили.

1) используйте отладчик, чтобы проверить, инициализируется ли онне.

2) Если вы получите изображение, показанное ниже, как и тогда, то оно покажет предварительный просмотр.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...