2012-03-16 2 views
1

У меня есть HTML-страницу с некоторыми данными в табличном формате, и этот код:JavaScript window.print() дает пустой отпечаток

function printme() 
    { 
     window.print(); 
     self.close(); 
    } 


<body onload = "javascript:printme()"> 

С этим я могу получить распечатку всех браузеров кроме одной версии IE8 (8.0.7601.xxxxx), которая печатает пустую страницу.

Я что-то упустил?

+0

Зачем вам все это? Если его какая-то неопределенная версия и 7602 работает, это очень маленькая аудитория, или вы имеете в виду IE8 вообще ?. Убедитесь, что вы не в режиме совместимости, что может испортить вещи. –

+0

Я должен, так как один из моих клиентов очень специфичен в этом ... неудачно :( – Yogesh

ответ

3

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

Кроме того, почему вы используете window.print и self.close, когда window == self в этом контексте?

0

Не обязательно использовать префикс javascript: для таких событий, как onload, так как они ожидают Javascript в любом случае.

Как правило, javascript: необходим только для <a href="javascript:... (некоторые другие вещи, но это самый распространенный вариант).

Наиболее вероятная проблема заключается в том, что IE8.0.7601 ... по какой-то причине имеет причуду, что означает, что она не просто игнорирует ее, тогда как другие браузеры и другие версии одного и того же браузера обрабатывают ее без каких-либо проблем.

+0

хотя я удаляю одну и ту же проблему javascript :) – Yogesh

1

Я сталкиваюсь с той же проблемой часто с IE, попробуйте определить ее в заголовке, может решить вашу проблему.

<meta http-equiv="X-UA-Compatible" content="IE=8" />

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