2012-05-18 3 views
3

Это сводит меня с ума.Печать iFrame с использованием document.frames в Firefox

У меня было несколько вопросов здесь и на других сайтах, и я не могу заставить это работать.

У меня есть iFrame на моей родительской странице, содержащий документ PDF.

iFrame (и PDF) невелик, поэтому навигационная панель Adobe Reader скрыта, поэтому использовать функцию печати внутри Adobe Reader нецелесообразно.

Итак, я хочу кнопку (которая должна быть в рамке Родитель), которая может вызвать Print в окне iFrame.

print a PDF Iframe in firefox

How to print pdf in iframe using javascript in ie6?

и некоторые другие имеют подобные предложения.

Использование Firefox

document.getElementById('loyaltyBadge').focus(); 
document.getElementById('loyaltyBadge').contentWindow.print(); 

ничего не делает

document.frames['loyaltyBadge'].focus(); 
document.frames['loyaltyBadge'].contentWindow.print(); 

Ничего не делает

document.frames.loyaltyBadge.focus(); 
document.frames.loyaltyBadge.contentWindow.print(); 

Возвращает document.frames is undefined ... как это делает:

document.loyaltyBadge.print(); 

Хотя это работает в Chrome

Я не хочу автоматическую печать на нагрузке, но мне нужна кнопка печати.

Все строки выше заворачивают в:

$('#printFrame').click(function() { }); 

Кнопка имеющий идентификатор printFrame и сам кадр имеет идентификатор (и имя) loyaltyBadge

ответ

2

Следующие работы для меня Firefox 11:

window.frames.loyaltyBadge.focus(); 
window.frames.loyaltyBadge.print(); 
+0

Действительно ли ?! Это странно, это просто ничего не сделает для меня. Я на FF 12, но я не понимаю, почему это должно было остановить его! –

+0

Я проверил, что событие click захватывается ОК, добавив в него также предупреждение, но потом ничего больше не происходит. –

+0

Вы пытались запустить этот (точный) код из firebug? – Pete

Смежные вопросы