Я нашел замечательный трюк в статье Реми Шарпа, позволяющий вставлять в тексте после гиперссылки адрес самой ссылки при выводе страницы на печать.
К сожалению, данная фишка работает только в браузерах, поддерживающих 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/