Заметки для веб-мастера: вывод на экран ссылки/кнопки "Распечатать страницу" и проверка поддержки браузером javascript (яваскрипт).
Лирическое отступление. Давненько я уже не появлялся толком в сети, слег с первым снегом в нашей деревне... Приятно, что два моих сетевых друга еще помнят обо мне - Володя наклепавший пост про блогогород и Евгений, упоминувший своих друзей. Эх, болеть нельзя в нашем сумбурно-каламбурном мире, который меняется почти каждый день... Сколько всего пропустил... Но, слава богу, в мире все налаживается и... не за горами Новый год! smile Еще успею наклепать пару постов. Еще... вопрос: Опера 10 постоянно подчеркивает слова, я их куда-то добавляю... Кто-нибудь в курсе, куда добавляются эти слова и как этот словарик можно сохранить в случае переустановки Оперы? Скрипты: "Распечатать страницу" Выводим ссылку "Распечатать страницу":
<a href="javascript:window.print()">Print This Page</a>
Выводим кнопку "Распечатать страницу":
<input type="button" onClick="window.print()" value="Print This Page"/>
Выводим кнопку через javascript "Распечатать страницу":
<style type="text/css" media="print">
.printbutton {visibility:hidden; display:none;}
</style>
<script type="text/javascript"></script>
Чтобы узнать поддерживается javascript браузером или нет, можно использовать код:
Поддержка яваскрипт браузером:
<script type="text/javascript">if(true)document.write("Yes");</script>
<noscript>No</noscript>
Распечатаем только некоторый текст на странице, сгенерировав новую html-страницу:
<html>
<head>
<title>Print Image Only</title>
<script type="text/javascript">
function printme(evt) {
var pw = window.open("about:blank","_new");
pw.document.open();
pw.document.write(
"<html>\n<head>\n<title>Temporary Printing Window</title>\n</head>\n"+
"<body>\n"+" ===== PRINTING TEXT HEARE ===== \n"+"</body>\n</html>\n";
);
pw.document.close();
}
</script>
</head>
<body>
<h1>Print TEXT Only</h1>
<img src="http://site.ru/images/myimg.jpg" onClick="printme(onClick)"/>
</body>
</html>
Распечатаем только одну картинку на странице, сгенерировав новую html-страницу:
<html>
<head>
<title>Print Image Only</title>
<script>
function makepage(src) {
// We break the closing script tag in half to prevent
// the HTML parser from seeing it as a part of
// the *main* page.
return "<html>\n" +
"<head>\n" +
"<title>Temporary Printing Window</title>\n" +
"<script>\n" +
"function step1() {\n" +
" setTimeout('step2()', 10);\n" +
"}\n" +
"function step2() {\n" +
" window.print();\n" +
" window.close();\n" +
"}\n" +
"</scr" + "ipt>\n" +
"</head>\n" +
"<body onLoad='step1()'>\n" +
"<img src='" + src + "'/>\n" +
"</body>\n" +
"</html>\n";
}
function printme(evt) {
// Old IE
var image = evt.target;
if (!image) image = window.event.srcElement;
if (!evt) evt = window.event;
src = image.src;
link = "about:blank";
var pw = window.open(link,"_new");
pw.document.open();
pw.document.write(makepage(src));
pw.document.close();
}
</script>
</head>
<body>
<h1>Print Image Only</h1>
<p>When you click on the image below, just the image should print.
And the temporary window used in the process should go away
afterwards, whether you allow the print operation to go ahead or not.</p>
<p><noscript>
<b>You have JavaScript turned off.</b>
So this won't work. That is to be expected.
</noscript></p>
<img src="http://site.ru/images/myimg.jpg" onClick="printme(event)"/>
</body>
</html>