2009-07-08 3 views
3

JavaScript를 사용하여 백그라운드에서 일부 GET 매개 변수를 통합하기 위해 정기적으로 URL을 변경해야하는 페이지가있어서 새 GET 매개 변수를 사용하여 페이지를 새로 고칩니다.포커스를 훔치지 않고 IE에서 창을 "새로 고침"하는 방법은 무엇입니까?

따라서, 예를 들어, 내가 정기적으로 할 것

window.location.href = window.location.host + '?' + ss; 

또는

'SS'는 새로운 쿼리 문자열 예입니다
window.location.search = '?' + ss; 

: "foo는 = 3 & 바 = 1" . 이러한 '새로 고침'은 창이 배경에있을 때 발생합니다.

제 문제는 IE 브라우저에서 새로 고침을하면 창이 훔치 게됩니다. 이것을 피하거나 회피 할 여지가 있습니까?

+0

어떤 버전의 IE입니까? window.location.hash를 변경하고 AJAX를 사용하여 페이지를 업데이트 할 수 있습니까? – EricLaw

+0

새로운 GET 매개 변수를 사용하여 실제로 페이지를 다시로드해야합니다. IE 6 & 7에서는이 동작을 보았지만 8은 테스트하지 않았습니다. – Kyle

답변

0

전체 페이지를 새로 고쳐야합니까? 나는 내용을 IFRAMED한다면 초점을 훔치지 않을 것이라고 생각합니다. 의도적으로 백그라운드 창으로 시도한 적이 없지만 IE가 그렇게하는 것이 궁금합니다. 어떤 버전이 그것을 복제하고 싶습니다.

+0

IE 6 & 7에서는이 동작을 보았지만 테스트하지는 않았습니다. 8 onload 후 호출되는 JS 단일 행으로 복제하기 쉽습니다. 다음과 같은 것 : setTimeout (function() {window.location.replace ('http://google.com')}, 5000); IE에서 "바꾸기"를 호출 할 때 창이 포커스를 훔칩니다. 야생. – Kyle

+0

분명히 'google.com'앞에 http ...가 있어야합니다 (내 의견은 SO 님에 의해 삭제되었습니다) – Kyle

2

아마도 프레임을 다시로드하는 대신 AJAX 호출을 사용하여 새 데이터를 가져 오는 것이 좋습니다.

2

Ajax를 확실히 사용합니다. 이러한 방식으로 콘텐츠를 새로 고치는 것은 특히 비동기 방식으로 인해 더 나은 사용자 환경입니다. 또한 URL에 매개 변수를 사용하지 않으면 사이트의 SERP 결과가 좋은 경우 항상 좋은 방법입니다.

관련 문제