2010-08-03 2 views
0

firefox이 올바른 출력을 제공하지만 Chrome이 아닌 이유는 무엇입니까?'console.log'에 대한 firefox 및 chrome 출력 간의 불일치

스타일 시트 나 다른 곳에서 지정되지 않은 div의 높이를 찾으려고합니다.

크롬은 나에게 '20'의 정수 값을 제공하지만, 파이어 폭스는이 내가 CONSOLE.LOG 생성하기 위해 사용하고있는 코드 (516)

의 (사용 개똥 벌레) 나에게 올바른 값을 제공합니다

var img_h = $("#pics").height(); 
    console.log(img_h); 

<div id="pics" width="100%"> 
     <img src="image1.jpg" width="45%"> 
     <img src="image2.jpg" width="45%"> 
    </div> 

생각 하시겠습니까?

+0

언제 코드를 실행합니까? 일부 브라우저는 먼저 높이를 초기 값으로 설정하고 올바른 값은 렌더링 및 레이아웃이 수행 된 경우에만 사용할 수 있음을 알고 있습니다. 따라서 높이를 높이려고하면 잘못 될 수 있습니다. – theomega

+0

내 document.ready (기능) 끝에 있습니다. 글자 그대로 꼬리말 앞에}}; – marcamillion

답변

2

당신은 이미지를 다음과 같이 대신 document.ready의 당신이 window.onload을 사용해야로드 할하려면 실행됩니다.

+0

내가 이것을 'document.ready (function) {'안에 넣을 수 있을까? 아니면 외부에 넣을 수 있을까? – marcamillion

+0

대단한 !!!! 이 작동합니다. 고마워, 닉. – marcamillion

+0

다른 사람이 호기심이있는 경우 외부가 더 안전합니다 @marc - 환영합니다 :) –

0

이것은 해결책이 아니지만 아무도 다른 사람에게 제공하지 않도록 남겨두고 있습니다.


하지 양의 문서 준비 래퍼에 jQuery를 포장하려고 기준 :

$(document).ready(function(){ 
    //your code 
}); 

단지 이론,하지만 때 CONSOLE.LOG 요소가 실제로 아직로드되지 않도록 할 수 있습니다 해고 중입니다.

$(window).load(function() { 
    var img_h = $("#pics").height(); 
    console.log(img_h); 
}); 

가장 눈에 띄는 차이는 이미지 (! 동적으로 생성되지 않음)로드 것입니다 때이 코드 준비 :

+0

내 전체 document.ready (함수)에있었습니다. 이미 다른 코드가 있으므로 두 개의 document.ready (함수)가 있어야합니까? – marcamillion

+0

아니요. 그때는 문제가되지 않습니다. – hookedonwinter

관련 문제