我有一个带有惊人主页地图的目录网站,但不幸的是它在移动设备上的负载并不高。 WordPress主题设置为使用滑块或地图,但我想在移动设备上显示滑块和桌面上的地图。我认为这是操纵这个的代码:
<?php
////////////////////////////////////////
//// WHAT SLIDER ARE WE USING
////////////////////////////////////////
if(ddp('home_slider') == 'Map') {
get_template_part('includes/slider/markup', 'map');
} else {
if(function_exists('putRevSlider')) { putRevSlider(ddp('home_slider_alias')); } ?>
<script type="text/javascript">
jQuery(document).ready(function() { _sf_send_user_to_listings = true; });
</script>
<?php }
?>
我理解PHP没有屏幕尺寸的概念。我也读过一次JavaScript或jQuery与PHP混合,服务器端一起停止,不再有PHP可以处理。 也许是我的问题 - 如果我使用CSS在移动设备上显示滑块,设备是否仍会在幕后加载地图?反之亦然,桌面是否会加载地图和滑块,但只向用户显示一个?如果移动设备被强制加载两者,则崩溃仍将发生在地图问题中。 (顺便说一句,开发人员编写了地图来处理客户端的引脚和聚类,这就是它显然崩溃的原因。)
如果我可以使用CSS完成此操作,我将如何更改上述PHP?我对PHP和服务器端编程都非常陌生。我假设ddp与主题设置有关,因为我目前能够选择地图或滑块(而不是两者)。
答案 0 :(得分:0)
第一个选项:可以实现的一种方法是使用Ajax在向服务器询问内容之前使用Javascript检测屏幕大小。您可以使用screen.availWidth
或screen.availHeight
来检测屏幕尺寸,就像使用css中的@media
查询一样,根据您的行动方针进行操作。
以下是您要检查的标准屏幕尺寸的链接: CSS Tricks = Media Queries for Standard devices
在您的Javascript使用正确的逻辑后,您将使用Ajax加载您的内容。
如果AJAX不是你的东西,或者你的内容对于Ajax交换太重 - 第二个选项:有一个带有Javascript脚本的中间html页面,它执行上面规定的相同逻辑,然后重定向用户到相应的页面:完整的地图页面或移动版本。这种方法可能是更好的选择,因为您的用户不必等待Ajax操作。 这是使用Javascript重定向的链接: Redirecting with Javascript