2010-06-25 4 views
1

Я пытаюсь загрузить мой print.css, но он, похоже, не загружается. он работает отлично в FF и Safari, но проблема только в IE.Печать Css не загружается

У меня есть регулярные внешние CSS для страницы Inbetween головы теги

и когда пользователь нажимает на ссылку для печати. он загружает печать css.

<div class="linkPrint"> 
<a target="_blank" href="?format=print">Print</a> 
</div> 


var format = getUrlParam('format'); 
if (format == 'print') { 
    $('head').append('<link href="/theme/print.css" rel="stylesheet" type="text/css" />'); 
} 

Но в IE он загружает стандартный css вместо print.css.

Как это можно исправить для IE6?

Благодаря

+0

Что произойдет, если вы используете стандартные методы DOM, такие как 'document.createElement («link») 'и т. д., и добавьте * это * в' head'? –

ответ

7

Вы можете иметь CSS печати и ваш CSS экрана и загруженную в то же время на странице без них мешая друг другу - вы должны указать атрибут media на link тег:

<link href="/theme/print.css" rel="stylesheet" type="text/css" media="print" /> 
<link href="/theme/screen.css" rel="stylesheet" type="text/css" media="screen" /> 

Не нужно проходить через обман javascript.

Что касается IE6 - он поддерживает это, как видно из списка сравнения на странице this.

+0

Спасибо, что один путь. Но я не могу использовать это в этом случае. Как это работает в IE6 с использованием вышеуказанного javascript, он отлично работает в FF и Safari и Crome, но не работает в IE6 – user244394

+3

Как вы не можете использовать это, но можете использовать javascript hack? – Oded

0

Попробуйте удалить <link> в другой файл CSS, когда вы добавите print.css

0

попробовать с document.write,

document.write('<link href="/theme/print.css" rel="stylesheet" type="text/css" />'); 
Смежные вопросы