2011-08-02 126 views
1

我在Web瀏覽器緩衝(不chaching)時遇到問題。在Firefox(或其他瀏覽器)中禁用接收緩衝區

我稱之爲PHP腳本:

sleep(5); 
echo '1st step'; 
echo (str_repeat(' ',256)); 
sleep(5); 
echo '<br />'; 
echo '2nd step'; 

輸出緩衝器PHP的禁止(我們將確認後)

含鉻12和Firefox 5 都調用此腳本時

我得到這個結果:

'等待'動畫圈(灰色)在〜5秒內運行 然後'轉移'動畫圈(橙色圈)在~5秒內運行 最後我有t他顯示了整個結果。

我的初始目標是,如您所期望的,等待5秒,然後看到「第一步」顯示, 再次等待5秒,然後看到「第二步」顯示。

線索

  • PHP或5秒後,Apache並不 任何緩衝的動畫圓開關「等待」到「recieving」(這樣瀏覽器就沒有收到來自「第一屆東西 一步「回聲!)

    • 我試圖設置Firefox緩存大小爲0,所以緩存機制將被繞過..但仍然沒有工作。

    • 我讀過一些瀏覽器可能會等到他們收到256字節纔開始顯示內容。這就是爲什麼我添加「echo(str_repeat('',256))」..但它不能解決任何問題。

    • 我也嘗試在firefox中設置network.buffer.cache.count和network.buffer.cache.size選項爲0:config,我不知道這些選項是否與我的問題相關,但它是仍然沒有工作..

任何想法?

感謝,

+0

我相信256號碼需要512.或者你需要一個元標記或HTTP頭聲明字符集。你搞亂的緩存設置與緩存HTML無關;我強烈建議將緩衝區高速緩存的數量和大小恢復爲默認值,因爲這是用於necko的內部內存緩衝區緩存。 –

+0

你是對的!我最初的信息太短.. 謝謝! (我該如何設置你的回覆爲好? 以及我如何關閉這個問題? 我不熟悉這個論壇) – maigre

+0

我認爲應該有一個「接受」按鈕的問題。這就是你們如何將我的反應設定爲好的並回答問題。我從來沒有試過實際問過一個問題,所以不確定。 ;) –

回答

3

哦,我想我需要答案的答案,而不是評論,所以你可以接受它。

HTML5字符集嗅探緩衝區大小爲512字節。因此,響應需要填充512字節或設置字符集(通過<meta>標記或HTTP標頭)。

+0

謝謝鮑里斯;) – maigre

相關問題