目标媒体以打字稿打印

时间:2020-10-05 13:29:03

标签: javascript jquery typescript

我当前在网站上使用延迟加载,但是如果媒体等于打印量,我想禁用它。我想检查我的if语句是否在@media打印中。最好的方法是什么?

init(): void {
    if (window.LazyLoad) {
        this.lazyLoadNativeInstance = new window.LazyLoad({
            elements_selector: '[loading=lazy]',
            use_native: true,
        });
        this.lazyLoadFallbackInstance = new window.LazyLoad({
            elements_selector: '.lazy:not([loading=lazy])',
        });
    } else {
        $('img.lazy').each(function(): void {
            const src: string = $(this).data('src');
            $(this).attr('src', src);
            $(this).addClass('loaded');
        });
    }
}

1 个答案:

答案 0 :(得分:1)

您可以使用Window.matchMedia()检查媒体查询是否匹配,如下所示:

if (window.matchMedia('print').matches) {
  // Lazy-load the images
} else {
  // Don't
}