Я нашел замечательный трюк в статье Реми Шарпа, позволяющий вставлять в тексте после гиперссылки адрес самой ссылки при выводе страницы на печать.
К сожалению, данная фишка работает только в браузерах, поддерживающих CSS2 псевдоселектор :after
: Firefox, Safari, Opera, Chrome (с ограничениями), IE8. Пользователи же IE6, IE7 не увидят должного эффекта, поэтому предлагаю для них использовать jQuery-сниппет.
$(function() { // Знает ли браузер о onbeforeprint (IE6, IE7 иIE8) if (window.onbeforeprint !== undefined) { // Вешаем обработчик перед печатью (добавление ссылок) window.onbeforeprint = ShowLinks; // Удаляем обработчик после печати window.onafterprint = HideLinks; } else { // Если браузер не IE6, используем псевдоселектор :after $('head').append('<style type="text/css" media="print">.print_link:after { content: " (" attr(href) ")"; }</style>'); } }); function ShowLinks() { $('.print_link').each(function() { // Запоминаем оригинальный тест ссылок $(this).data('linkText', $(this).text()); // Добавляем к гиперссылке ее ссылку $(this).append(' (' + $(this).attr('href') + ')'); }); } function HideLinks() { $('.print_link').each(function() { // Восстанавливаем оригинальную гиперссылку $(this).text($(this).data('linkText')); }); }
Ссылки
Источник: https://www.kobzarev.com/programming/jquery-snippets-show-the-link-address-when-you-print/