2015-11-09 165 views
0

在我的Joomla網站,我有一個輸出由默認的1個項目,在其help.php文件的模塊,有類似檢測用戶屏幕寬度的最佳做法是什麼?

$items = 1; 
$db->setQuery($query, 0, $items) 

現在我要來檢測,如果用戶的屏幕寬度小於一個一定的價值,如果是,那麼只得到1件物品,否則得到4件物品。最好的做法是什麼?

我可以將$ items設置爲4並使用javascript來消除其他3項,但這不是一個完美的解決方案,因爲會下載過多的數據。我的問題是: 1)可以單獨使用PHP檢測客戶端的屏幕寬度嗎? 2)如果沒有,我必須使用JavaScript/AJAX,我想補充

<script> 
    var w = screen.width; 
    href = location.href; 
    if (location.search){ 
     href = href + '&screenWidth=' + w; 
    } else 
    href = href + '?screenWidth=' + w; 
</script> 

每一個頁面,並使用$_GET['screenWidth]在helper.php文件,以獲得屏幕寬度值,這是一個好的做法呢?這是否會混淆輸出緩衝區sif有什麼)由我的CMS(joomla)設置?

+1

php可以做任何檢測屏幕寬度。它純粹是一種服務器端語言。你需要客戶端參與,這意味着JS。 –

+1

您可以使用ajax根據您在javascript中檢測到的屏幕寬度加載其他內容......但是當我在手機上收到一個不完整的網站時,我個人討厭它,並且我會推薦一種響應式設計方法,您只需更改演示文稿而不是內容本身。 – jeroen

回答

2

只需給CSS添加一個類,將它們隱藏在手機上。

@media(max-width: 768px){ 
    .some-class{ 
     display: none; 
    } 
} 
0

您無法使用PHP檢測屏幕大小,因爲它只能在服務器上運行。你可以嘗試Mobile Detect它不會告訴你屏幕的大小,但它會讓你知道它是什麼樣的設備。

相關問題