Cli*_*een -2 javascript php google-dfp laravel
我有一个棘手的情况,我需要在移动设备上移动我的Google广告.我发现最好的方法是使用@include调用它们,但仅限于满足某些屏幕尺寸条件.
我想以下是可行的
@if($screensize < 768px)
@include('partials.my-advert')
@endif
Run Code Online (Sandbox Code Playgroud)
所以我的问题是我如何将屏幕尺寸变成PHP?我可以通过JS使用屏幕尺寸,$(window).width();但是如何在Laravel if语句中使用此值?
您无法使用PHP检测屏幕大小,但是可以检测代理。有一个软件包,可轻松检测代理,使您可以检测请求是否来自台式机/平板电脑/移动设备。
要通过composer安装它,您可以运行以下命令。
$ composer require jenssegers/agent
Run Code Online (Sandbox Code Playgroud)
然后将服务提供商的dd添加到文件中的provider密钥config/app.php。
Jenssegers\Agent\AgentServiceProvider::class
Run Code Online (Sandbox Code Playgroud)
此外,将代理别名添加到别名键中,
'Agent' => Jenssegers\Agent\Facades\Agent::class
Run Code Online (Sandbox Code Playgroud)
最后,从您的控制器传递agent变量进行查看。
$agent = new Agent();
return view('some.view', compact('agent'));
Run Code Online (Sandbox Code Playgroud)
然后,在您的视图内,您可以检查座席是否属于某个手机。
@if($agent->isMobile())
@include('partials.my-advert')
@endif
Run Code Online (Sandbox Code Playgroud)
尝试这样做绝对没有意义,因为整个方法都是过时的.当然,您可以通过$(window).width()javascript将客户端传递回PHP中的服务器,但是如果用户调整窗口大小会发生什么?
这就是为什么今天鼓励的是响应式设计.即使Google Adsense也为此提供了自适应广告单元.
响应式设计不需要后端了解客户端的任何信息,以便在页面上正确呈现内容.相反,客户端不做任何关于如何在客户端UA上呈现内容的假设,并允许高级CSS和JS直接和响应地处理呈现.这意味着,无论屏幕大小如何,您的内容都不会有所不同.
Bootstrap是一个使用响应式设计的前端框架.还有Material设计,它有许多实现也响应.