jquery.lazyload を印刷および印刷メディア クエリで動作させようとしています。Chromiumでほぼ動作します。ただし、「画面」にのみ表示され、「印刷」出力には表示されません。これが遅延ロードの非同期性によるものなのか、それとも私の誤用によるものなのかはわかりません。
ここに私がこれまでに持っているものがあります:
$(document).ready(function() {
if (Modernizr.mq('only all')) { // check of mq support
print_mq = window.matchMedia('print')
print_mq.addListener(function(mql) {
if (mql.matches) {
$("img.lazy").trigger('appear'); // load lazy loaded imags before print
}
});
} else {
window.onbeforeprint = function () {
$("img.lazy").trigger('appear');
}
}
});
.trigger('appear')
ソースを掘り下げて初めて見つけました。Chromium の開発ツールまたは firebug で動作します。ただし、このコンテキストで実行すると動作が異なるように見え、その理由がわかりません。
これをプリンターメディアで機能させる方法について、推測をいただければ幸いです。