2013-05-03 63 views
1

我正在寫一個錯誤控制檯,它將在我的框架內的HTML輸出之後運行。有效的控制檯將捕獲所有的PHP錯誤,通知和其他應用程序相關的通知。由於生成框的PHP函數只會在頁面HTML輸出後運行,因此錯誤控制檯將位於頁面的底部。將框推到頁面頂部而不與其他內容重疊

我希望能夠在任何其他輸出之前將控制檯推到頁面的頂部。我知道我可以使用類似position:absolute的東西,但是這似乎與我已有的其他內容重疊。由於控制檯永遠不會是固定高度,我也不能使用邊距或填充來嘗試推送其他內容。

有沒有一種方法可以實現這一點,而不依賴於Javascript來爲我做到這一點?

回答

1

您可以捕獲所有的正常輸出與output buffering,即,它括在ob_start()ob_get_clean(),然後準備你的錯誤控制檯的數據,輸出到客戶端,然後才輸出,是由輸出緩衝捕獲的內容。

一個最簡單的例子:

<?php 
    ob_start(); 
    echo 'Normal content'; 
    $NormalContent = ob_get_clean(); 

    echo 'Error console'; 

    echo $NormalContent; 
?> 
-1

我會建議你用jQuery庫做,如果它是一個選擇。

這種方式將是非常簡單的:

$(document).ready(function(){ 
    $('.console').insertBefore('.content') 
}); 

它將與任何高度工作,並且將不被固定的或重疊的任何其他層。

LIVING EXAMPLE

相關問題