Редактировать 2 После прочтения Арджан ответ я понимаю, что это решение неправильно обращается к сайтам с использованием (или злоупотреблением) CSS @media print
, (См. Пример ниже.) Но я думаю, что это решение все еще остается в силе как «неидеальный-быстрый-и-грязный трюк», прежде всего для кода, который вы написали и который заранее знаете, что у него нет этого .
С помощью Firebug вы также можете редактировать теги <link rel="stylesheet" type="text/css" ...>
и <style>
для вашего удобства.
Например, вы можете переключить оригинал
<link rel="stylesheet" type="text/css" media="print">
до
<link rel="stylesheet" type="text/css" media="screen">
и браузер применит его. Вам также придется отключить только экранные.
Конечно, это полезно, только если вы хотите быстро проверить несколько страниц с очень небольшим количеством ссылок на таблицы стилей, но, по крайней мере, вам не нужно устанавливать какие-либо дополнительные плагины.
Редактировать 1 Этот трюк предлагает мне использовать javascript для автоматизации этого ...
(Отказ от ответственности: я буду использовать JQuery для простоты. Я не эксперт по Javascript.)
// Save all stylesheet links
allStylesheets = $('link[rel="stylesheet"], style');
// Save the print-stylesheet links
printStylesheets = $('link[media*="print"], link[media*="all"], style[media*="print"], style[media*="all"]');
// Set all stylesheet medias to something 'exotic'
if (null != allStylesheets) {
allStylesheets.attr("media", "aural");
}
// Switch the print-stylesheet medias to 'screen'
if (null != printStylesheets) {
printStylesheets.attr("media", "screen");
}
Обратите внимание, что по умолчанию media
равно "screen"
( w3.org - атрибут мультимедиа ). Это можно использовать в кнопке, чтобы показать предварительный просмотр страницы. Единственным недостатком является то, что вам необходимо перезагрузить страницу, чтобы восстановить исходный вид.
Как указывалось выше, это решение не работает с html-кодом, подобным этому, потому что стиль внутри @media print
не будет применяться браузером:
<html>
<head>
<title>Hello world</title>
<style type="text/css" media="all">
@media print { h1 { color: red; }}
</style>
</head>
<body>
<h1>Hello world</h1>
</body>
</html>