簡體   English   中英

Laravel - 僅當屏幕尺寸 > 768px 時才包含文件

[英]Laravel - include file only if screen size > 768px

我有一個棘手的情況,我需要在移動設備上移動我的 Google Ads。 我發現最好的方法是使用 @include 調用它們,但前提是滿足某些屏幕尺寸條件。

我認為以下內容會起作用

@if($screensize < 768px)
  @include('partials.my-advert')
@endif

所以我的問題是如何將屏幕大小轉換為 PHP? 我可以通過 JS 使用$(window).width();獲取屏幕尺寸$(window).width(); 但是我如何在 Laravel if 語句中使用這個值呢?

您無法使用 PHP 檢測屏幕大小,但也可以檢測代理。 有一個,它可以輕松檢測代理,它可以讓您檢測請求是否來自桌面/平板電腦/移動設備。

要通過 composer 安裝它,您可以運行以下命令。

$ composer require jenssegers/agent

然后將服務提供者 dd 添加到文件config/app.php providers 鍵。

Jenssegers\Agent\AgentServiceProvider::class

此外,將代理別名添加到別名鍵,

'Agent' => Jenssegers\Agent\Facades\Agent::class

最后,從控制器傳遞代理變量以查看。

$agent = new Agent();
return view('some.view', compact('agent'));

然后在您的視圖中,您可以檢查代理是否屬於某個手機。

@if($agent->isMobile())
  @include('partials.my-advert')
@endif

嘗試這樣做絕對沒有意義,因為整個方法已經過時了。 當然,您可以將$(window).width()從 javascript 中的客戶端傳遞回 PHP 中的服務器,但是如果用戶調整窗口大小會發生什么?

這就是為什么,今天鼓勵的是響應式設計 甚至Google Adsense 也為此提供了響應式廣告單元

響應式設計不需要后端了解客戶端的任何信息,以便在頁面上正確呈現內容。 相反,客戶端對如何在客戶端 UA 上呈現內容不做任何假設,並允許高級 CSS 和 JS 直接和響應式地處理呈現。 意思是,無論屏幕大小如何,您的內容都不會有所不同。

Bootstrap就是這樣一種使用響應式設計的前端框架。 還有Material design ,它有許多響應式的實現。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM