@Alexosplain

Как вызвать Print Preview в Internet Explorer 10+ для iframe в документе?

Подскажите, пожалуйста.

Есть html документ в нем есть iframe, в который загружаются содержимое файлов формата html, которые были созданы из ms excel.
При вызове диалога в IE10+ "Предварительный просмотр" для печати отображается только первая страница. Другие страницы распечатать невозможно, т.к., содержимое находится в Iframe родительского документа.
Если перейти по кнопке печать вкладка "Параметры", то диапазон радиобоксов "Печать фреймов" неактивен вообще.

Если вызывать Print Preview для IE методом для главного документа описанный ниже, то окно вызывается нормально, но при переходе по кнопке "печать", вкладка "Параметры", то диапазон радиобоксов "Печать фреймов" неактивен.
var OLECMDID = 7;
/* OLECMDID values:
* 6 - print
* 7 - print preview
* 1 - open window
* 4 - Save As
*/
var PROMPT = 1; // 2 DONTPROMPTUSER
var WebBrowser = '';
document.body.insertAdjacentHTML('beforeEnd', WebBrowser);
WebBrowser1.ExecWB(OLECMDID, PROMPT);
WebBrowser1.outerHTML = "";

Пробую вызвать для ифрейма в документе для IE вот так ничего не выходит. Ошибка
var OLECMDID = 7;
var PROMPT = 1;
var WebBrowser = '';
document.getElementById('RF').contentWindow.document.body.insertAdjacentHTML('beforeEnd', WebBrowser);
WebBrowser1.ExecWB(OLECMDID, PROMPT);
WebBrowser1.outerHTML = "";

Если вызывать просто диалог печати в IE способом описанным ниже, то все нормально.
При открытии диалога "печать" вкладка "Параметры", то диапазон радиобоксов "Печать фреймов" активен для выбора.
Печатается все содержимое ифрейма.
var target = document.getElementById('RF');
try {
target.contentWindow.document.execCommand('print', false, null);
} catch(e) {
target.contentWindow.print();
}
Но такой способ мне не нужен, т.к. он вызывает долко диалоговое окно печати. Мне обязательно нужен диалог "Предварительного просмотра печати" с распечаткой всего содержимого ифрейма.
Выручайте...
  • Вопрос задан
  • 1369 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы