23 lines
1.0 KiB
JavaScript
23 lines
1.0 KiB
JavaScript
|
|
/* Druckfassung der Stadionzeitung: blendet den „Jetzt drucken"-Button ein und
|
||
|
|
bindet ihn an den Browser-Druckdialog. Progressive enhancement — ohne JS
|
||
|
|
bleibt der Button [hidden] und der Dialog kommt wie immer über Strg/Cmd+P,
|
||
|
|
die Druckansicht selbst ist reines server-gerendertes HTML+CSS. */
|
||
|
|
(function () {
|
||
|
|
'use strict';
|
||
|
|
|
||
|
|
/* Alle lazy geladenen Bilder sofort laden: Chrome druckt Bilder, die nie
|
||
|
|
im Sichtfeld waren, sonst als leere Flächen (Wappen, QR, Porträts —
|
||
|
|
die großen Seiten-Bilder rendert PHP in der Druckfassung schon eager,
|
||
|
|
das hier fängt die kleinen Bilder aus den geteilten Komponenten). */
|
||
|
|
Array.prototype.slice.call(document.querySelectorAll('img[loading="lazy"]')).forEach(function (img) {
|
||
|
|
img.loading = 'eager';
|
||
|
|
});
|
||
|
|
|
||
|
|
Array.prototype.slice.call(document.querySelectorAll('[data-druck-print]')).forEach(function (btn) {
|
||
|
|
btn.hidden = false;
|
||
|
|
btn.addEventListener('click', function () {
|
||
|
|
window.print();
|
||
|
|
});
|
||
|
|
});
|
||
|
|
})();
|