關於JavaScript指令碼中的alert思考

來源:互聯網
上載者:User

   對於JavaScript指令碼中的alert的作用只是單純的在網頁表單上彈出一個模態的警告對話方塊。在大部分的時候被用作對錶單提交時作校正用戶端輸入合法性,如果使用者所輸入的資訊不符合條件,則以alert加提示資訊的方式來提醒使用者。
    對於alert的使用在正常境況下不存在有爭議,可以說alert還是有一定的協助。但是存在爭議的時使用alert會不會給伺服器端造成壓力。不會?或許大部分看到這裡後第一個反應就是這樣。
    說不會的人也有其相應的理由:用戶端指令碼,在用戶端執行。怎麼會給伺服器端造成壓力呢?這個解釋沒有任何問題。但是由於alert是以模態的形式彈出,所以我就提出了這個疑問,希望大家來討論一下。
   如果在這種情況下:在伺服器端往用戶端回傳資料的時候,其中包含有alert。也就是一下模式:

<html>
  <body MS_POSITIONING="GridLayout">
A
<SCRIPT >alert("ee");</SCRIPT>
B    
  </body>
</html>

在這種情況下使用者可以看到網頁在顯示A之後就彈出alert警告框,之後使用者如果不關閉alert對話方塊,則網頁也就不會繼續顯示B。

問題也就處在這裡:如果在Web開發中,alert以這種方式出現(有時候開發人員會以這種方式來提示使用者資訊儲存正確或失敗)。會不會給伺服器造成過多的負載?
  確信會給伺服器造成過多負載的人也有其解釋的理由,alert以模態表單出現,在瀏覽器處理過程中,遇到模態表單時線程會暫時處理等待狀態,直到模態表單被取消。
那麼也就使說在web請求過程中,alert以模態表單如果不被關閉,那麼瀏覽器當前的線程也會處於等待狀態,由於瀏覽器和伺服器的串連也會遲遲不被釋放。如果真正如此的話,那麼就會給伺服器造成極大的壓力。
    我對此進行了簡單的測試,我假設在alert狀態下,瀏覽器會處於等待狀態。我用一下代碼進行測試

        private void Page_Load(object sender, System.EventArgs e)
        {
            this.Page.Response.Write(System.DateTime.Now.Ticks+"||\n");
            this.Page.Response.Write("<SCRIPT >alert(\"ee\");</SCRIPT>");
            this.Page.Response.Write(System.DateTime.Now.Ticks+"||\n");
            
        }

測試是在.net下進行的,只是簡單的判斷alert之間伺服器的時間和alert之後的回應時間。如果說瀏覽器會處於等待狀態,那麼二者之間後有一個比較明顯的差值。而其這個值會隨alert被關閉的時間越遲而越大。
        但是我測到的結果是二則相等。不倫等待多久去關閉alert。
        我從測試中猜想alert不會給伺服器造成過多的負載,因為瀏覽器在處理web請求的過程中,進行遠端資料請求和資料顯示是分線程處理。所以即便alert的模態顯示會使顯示的當前線程處於等待狀態,但是這並沒有影響到遠端資料請求。
      當然我的測試有點片面,如沒有去監視伺服器當時的狀態,以及測試資料量的不足。但是只是從側面去分析這個問題,希望大家能夠共同討論。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.