2010-01-29 2 views
1

어떻게 작동하는지 나는 jQuery 코드를

$(window).load(function() { 
    document.title = $("#myid").text(); //not working in FF 
}); 
여기

나는 때문에 #에서 $ (창) .load (() 함수 사용했다. myid 나는 다른 자바 스크립트를 통해 가치를 얻고있다. ready()를 사용하면 에러가 발생한다. 그래서 처음 윈도우를로드 한 다음 값을 읽는다. 이제 IE에서 윈도우가로드 된 후 값이 올라간다. document.title, FF로는 빈 칸으로 표시됩니다 .undfined 왜 아이디어가나요? 아니면 대체합니까?

답변

1

렌더링/타이밍 문제 일 수 있습니다. #myid 텍스트는 어떻게 설정합니까? 페이지로드시이 코드를 실행한다고 가정 할 경우 Personaly 또 다른 메모에, 나는 jQuery DOM 준비의 속기 버전을 사용하고 싶습니다, 이것은 또한 당신의 문제를 해결할 수도 있습니다.

jQuery(function(){ 
    document.title = jQuery("#myid").text(); 
}); 

그리고 나는 당신이 신체의 끝이나 이상적으로 머리 태그에서 그것을 호출해야합니다.

+0

u는 jQuery를이 (함수() {, 유 jQuery를 ("#에 대한 myid")의 값을 얻을 수 없습니다 사용하면 텍스트를().이 값은, 그래서 만약 다른 자바 스크립트에서 오는 I 윈도우로드가 될 때까지 기다렸다가 #myid가 채워진 다음 document.title = jQuery ("# myid")를 다시 검색 할 수 있습니다. ; – Wondering

+0

당신이 질문을 좀 더 명확하게해야 할 것 같아요. 내가 말했듯이 DOM을 마쳤다. 당신은 다른 리소스를 통해 들어오는 것에 대해 이야기하고 있습니다. 다른 자바 스크립트 파일을 통해 오면 jQuery.getScript () 함수를 호출 한 다음 콜백 함수를 사용하여 문서 제목을 설정합니다. –

0

나는

왜 준비 기능에 제목 설정을 넣지 (로컬 호스트, 작은 실험 페이지를 하나 개의 사업부로, 등) 신속하게로드 될 때 파이어 폭스가 동시에 준비 및로드 트리거하는 것이 가능하다고 생각 그것을 얻은 직후? div에 넣으면 제목에 넣을 수 있습니다.

0

이 코드는 확인하지 않았지만 좋은 방법은 아니지만 어쩌면 도움이 될 것입니다 ... Firefox에서만 코드가 작동하지 않으면 자바 스크립트로 브라우저를 확인하고 코드를 실행할 수 있습니다 Firefox 용.

<script type="text/javascript"> 
var timerId = 0; 

function checkElement() { 
    // If don't work: try .html() or $("#myid").text() != undefined or smth like this 
    if($("#myid").text()) { 
    document.title = $("#myid").text(); 
    clearInterval(timerId); 
    } 
} 

$(document).ready(function() { 
    timerId = setInterval('checkElement()', 500); 
}); 
</script>