2011-08-05 134 views
2

想了一些時間,我決定問:爲什麼瀏覽器在回發時不會阻止屏幕?

爲什麼瀏覽器在回發時不阻止屏幕?

我一直對Web瀏覽器通常(不能說我已經全部使用過)這一事實感到困擾,因爲我點擊一個產生回發的按鈕後不會屏蔽屏幕。正如我所看到的,在發佈後,瀏覽器期望服務器發回一些信息。如果沒有,連接將超時,頁面將被錯誤替換。如果服務器回答,則必須使用網頁;換句話說,不可能保持當前的網頁呈現。

但是,它經常發生,我點擊一個按鈕,意識到我忘了檢查複選框,所以我點擊它,但無濟於事。我知道,我應該意識到點擊複選框不會有幫助,但是,嘿,我通常在自動模式下進行操作。

我認爲這可能是瀏覽器在您按下按鈕或點擊了會產生回貼的鏈接後阻止了網頁,因此您無法按任何內容。但由於某些原因,大多數瀏覽器都沒有。爲什麼?

回答

0

瀏覽器只顯示頁面顯示的內容,並執行腳本告訴它的內容。如果頁面設計者在連接期間沒有執行任何操作來禁用輸入,則瀏覽器將其關閉。在某些情況下,這可能是有用的,例如當輸入設備需要可用時(儘管我無法想象我的頭頂有一個很好的例子)。禁用它們(除了禁用每個單獨的輸入)的一種快速方法是使隱藏的div的z-index高於頁面的其餘部分,以不透明度較低的方式隱藏(屏幕看起來有點淡色,div防止從其下面的任何東西被使用),然後在接收到響應時再次隱藏它。最終它只是設計選擇的結果。這是否回答你的問題?

+0

謝謝......我猜你已經將它陷入了我的問題:沒有好的例子說明你想在發佈時保持頁面可用。但是,我仍然認爲瀏覽器背後的開放模式是讓程序員能夠編寫腳本,而不是強制執行它。雖然我相信也許有一天瀏覽器可能會反映出這一點。 –

0

當瀏覽器阻止輸入時,通常會以這種方式進行有意編程。 回發並單擊按鈕不耦合,因爲按鈕並不總是用於回發。

即使瀏覽器是做在後臺的一些服務器的請求,這一請求並不總是由按下一個按鈕激活(見Ajax

換句話說,有更復雜的方案不是「按鈕,然後回發「,爲了覆蓋每個場景,瀏覽器讓這個控制權給程序員。

相關問題