지원되지 않는 브라우저의 경우 채움 형 polyfill로 반응 형 이미지에 요소를 사용하고 있습니다. 지원되지 않는 브라우저에서도 모든 것이 제대로 작동합니다. 하지만 크롬이 지원되는 곳에서는 jquery로드 이벤트가 지속적으로 실행되지 않습니다. Heres는 내 코드 :jQuery로드가 항상 <picture> (Chrome의 요소)로 실행되지 않는 경우
$("#banner .banner-slide a img").load(mainSlider.init)
그리고 내 그림 성분 :
<picture>
<!--[if IE 9]><video style="display: none;"><![endif]-->
<source srcset="http://placehold.it/1920x300" media="(min-width: 1440px)" />
<source srcset="http://placehold.it/1440x300" media="(min-width: 1024px)" />
<source srcset="http://placehold.it/1024x250" media="(min-width: 640px)" />
<source srcset="http://placehold.it/640x150" media="(min-width: 481px)" />
<source srcset="http://placehold.it/480x150" media="(max-width: 480px)" />
<!--[if IE 9]></video><![endif]-->
<img srcset="http://placehold.it/1440x300" alt="" />
</picture>
내가 그것을 크롬에서 제대로 작동하도록하기 위해 무엇을 할 수 있는지에 관해서는 어떤 생각?
고정
너무 확실하지 무엇을 거래했지만 그것을 고정 부하 청취자 아래를 추가. 심지어 0의 setTimeout 일했지만 저장하려면 10ms 준. 작은 시간 제한으로 크롬 문제를 해결하기 전에 몇 가지 시나리오를 경험했습니다.
//Fix chrome bug
setTimeout(function() {
$(window).resize();
}, 10)
'mainSlider.init'의 코드는 무엇입니까? 그것이 실행되지 않는다고 믿게 만드는 이유는 무엇입니까? –
Slick 슬라이더를 사용하여 슬라이더를 만듭니다. 슬라이더의 높이는 이미지의 높이에 따라 달라지며 슬라이더가 높이를 얻지 못할 수도 있습니다. mainSlider.init 안에 console.log를두면 약 50 %의 시간이 소요됩니다. –
캐시가 지워지더라도 수정 사항이 계속 작동합니까? 그렇지 않다면,'$ (window) .on ('load'...')에'init' 함수를 싸워보십시오. – Shikkediel