У меня была точно такая же проблема, хотя не в Chrome (хотя я на самом деле не тестировал с Chrome).В некоторых браузерах (и я не могу вспомнить, какие из них были сделаны вручную - но это было либо в IE, либо в FF), любой контент, который добавляется в DOM с помощью JavaScript, не печатается.На самом деле печатается оригинальный документ, который был передан в браузер.
Я успешно решил эту проблему, используя следующую функцию JavaScript:
function docw()
{
var doct = "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\"
\"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">";
document.write(doct + document.getElementsByTagName('html')[0].innerHTML);
}
Вызывается после завершения манипулирования страницей JavaScript.Он фактически читает весь DOM, а затем переписывает весь документ обратно в себя, используя document.write
.Теперь это позволяет печатать для моего конкретного проекта как в IE, так и в FireFox, хотя я уверен, что один из них уже работал в первую очередь, а другой - нет (не помню, какой из памяти, и этоне проект, который я могу вытащить для тестирования в данный момент).Решит ли это проблему в Chrome, я не знаю, но стоит попробовать.
Редактировать Ужасно извините, но я полный плеб.Я просто перечитал мои старые комментарии, и это решение не имело ничего общего с печатью;на самом деле это было для устранения проблемы, при которой при сохранении в файл сохранялся только исходный документ.Однако, тем не менее, я все еще задаюсь вопросом, стоит ли это выстрел.