2011-08-30 2 views
3

Mozilla의 이슈 트래커 인 Bugzilla는 검색이 실행되는 동안 좋은 로딩 화면을 가지고 있습니다. 아약스 시대에는 특별한 것이 아닙니다. 그들은 스크립팅을하지 않아도이 작업을 수행 할 수 있습니다.JavaScript없이 이미 브라우저로 전송 된 HTML 콘텐츠를 삭제하는 방법은 무엇입니까?

  1. 해제 자바 스크립트
  2. 를 열고 다음 URL : 당신의 버그를 검색하는 동안, 텍스트가 "기다려주십시오 당신은 애니메이션 이미지가있는 페이지를 얻을
    https://bugzilla.mozilla.org/buglist.cgi?short_desc=IDL&resolution=---&resolution=DUPLICATE&query_format=advanced&short_desc_type=allwordssubstr

예를 들어

. " "Bugzilla는 당신의 수색을 숙고하고 있습니다."

업데이트 :

이것은 검색이 실행되는 동안 전체 DOM입니다. 메타 새로 고침도 스크립트도 없습니다.

<html> 
    <head> 
     <title>Bugzilla is pondering your search</title> 
    </head> 
    <body> 
     <div style="margin-top: 15%; text-align: center;"> 
      <center> 
       <img width="160" height="87" alt="" 
        src="extensions/BMO/web/images/mozchomp.gif"> 
      </center> 
      <h1>Please wait while your bugs are retrieved.</h1> 
     </div> 
    </body> 
</html> 

잠시 후 결과 페이지가 나타납니다. 이전 HTML은 사라지고 새로운 제목 인 "Bug List"를 포함한 완전히 새로운 DOM이 나타납니다.

내 질문은 : 정확히 어떻게 작동합니까? 대체 기술을 나열하지 마십시오. 화면을로드하는 데는별로 관심이 없지만 완전히 다른 방식으로 사용하려면 정확한 메커니즘을 사용하고 싶습니다.

+0

당신은 이것을 봐야합니다 : http://stackoverflow.com/questions/244183/how-to-display-a-loading-screen-while-site-content-loads –

+0

OP는 실제로 비 js를 요구합니다. 해결책 –

+0

나는 그 사실을 더 명백하게하기 위해 제목을 편집했다. –

답변

3

실제로 내가 모질라를 제외하고이에 대한 브라우저 지원에 대해 너무 확실하지 않다 자신의 헤더

WARNING: YOUR BROWSER DOESN'T SUPPORT THIS SERVER-PUSH TECHNOLOGY. 
--------- =_y97AELt1tHMqcK8D 
Content-Type: text/html; charset=UTF-8 

<html> 
    <head> 
    <title>Bugzilla is pondering your search</title> 
    </head> 
    <body> 
    <div style="margin-top: 15%; text-align: center;"> 
     <center><img src="extensions/BMO/web/images/mozchomp.gif" alt="" 
     width="160" height="87"></center> 
     <h1>Please wait while your bugs are retrieved.</h1> 
    </div> 


    </body> 
</html> 

--------- =_y97AELt1tHMqcK8D 
Content-Type: text/html; charset=UTF-8 
content-disposition: inline; filename="bugs-2011-08-30.html" 
Set-Cookie: {data} 
Set-Cookie: {data} 

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
         "http://www.w3.org/TR/html4/loose.dtd"> 
<html> 
    <head> 
    <title>Bug List</title> 
{the rest of the request} 

두 응답을 각각 얻을 ...

+1

'multipart/x-mixed-replace'처럼 보입니다. http://en.wikipedia.org/wiki/Push_technology#HTTP_server_push를 참고하십시오. 이 기사는 "1995 년 넷스케이프에 의해 소개됐다"며 "파이어 폭스, 오페라, 사파리는 여전히 지원되지만 인터넷 익스플로러는 무시한다"고 언급했다. –

0

meta refresh tag을 사용하면 페이지를 N 초마다 새로 고침 할 수 있습니다.

검색 결과가 수집되는 한 메타 태그가있는 "please wait page"를 반환하십시오.

결과가 준비되면 결과 페이지 (없이 메타 태그)를 반환하십시오.

방화범끼리 (또는 유사)를 열고 네트워크 탭을 열면 어떤 일이 일어나는지 볼 수 있어야합니다. 당신은 당신을 볼 수있는 페이지의 소스도를 보면

+0

페이지에 메타 새로 고침 태그가 없습니다. –

관련 문제