如何在没有JavaScript的情况下清除已经发送到浏览器的HTML内容?

时间:2011-08-30 12:20:36

标签: html http browser

Bugzilla是Mozilla的问题跟踪器,在执行搜索时有一个很好的加载屏幕。在Ajax的时代,这没什么特别的。但是,他们没有任何脚本编写,我想知道如何。

例如:

  1. 禁用JavaScript
  2. 打开以下网址:
    https://bugzilla.mozilla.org/buglist.cgi?short_desc=IDL&resolution=---&resolution=DUPLICATE&query_format=advanced&short_desc_type=allwordssubstr
  3. 您会看到一个包含动画图片的页面,文本“请等待您的错误被检索到”。并且标题为“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消失了,出现了一个全新的DOM,包括一个新标题“Bug List”。

    所以我的问题是:这是如何工作的?请不要列出替代技术 - 我根本不想加载屏幕,但是想要使用那种完全不同的机制。

2 个答案:

答案 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}

我不太确定浏览器对此的支持,除了mozilla ......

答案 1 :(得分:0)

使用meta refresh tag每N秒重新加载页面。

只要收集搜索结果,就返回“请等待页面”(带元标记)。

结果准备好后,返回结果页面(不带元标记)。

当您打开Firebug(或类似网站)并打开网络标签页时,您应该能够看到正在发生的事情。