Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/240.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何为移动和桌面设备提供两个不同的html页面_Php_Html_Css - Fatal编程技术网

Php 如何为移动和桌面设备提供两个不同的html页面

Php 如何为移动和桌面设备提供两个不同的html页面,php,html,css,Php,Html,Css,我在这里看了一下,但只能找到wordpress或类似的解决方案 我有一个相当小的网站,它为移动用户和桌面用户提供了两种完全不同的方法 理想情况下,我想为这两类用户提供两个完全不同的网站。不太理想的情况是,我会满足于为两个用户提供两个不同的登录页 我怎样才能做到这一点?php、javascript或任何其他解决方案都可以,只要它完全工作(即,我可以从这里复制它,而不必学习新东西)。越简单越好,因为我在web开发方面不是最熟练的(这很好,这是一个小的艺术项目,我只是为了好玩) 编辑: 尝试使用jqu

我在这里看了一下,但只能找到wordpress或类似的解决方案

我有一个相当小的网站,它为移动用户和桌面用户提供了两种完全不同的方法

理想情况下,我想为这两类用户提供两个完全不同的网站。不太理想的情况是,我会满足于为两个用户提供两个不同的登录页

我怎样才能做到这一点?php、javascript或任何其他解决方案都可以,只要它完全工作(即,我可以从这里复制它,而不必学习新东西)。越简单越好,因为我在web开发方面不是最熟练的(这很好,这是一个小的艺术项目,我只是为了好玩)

编辑:

尝试使用jquery和建议的代码

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>MyPage</title>
    <style type="text/css">
        html,body {height:100%;width:100%;margin:0;padding:0;}
    </style>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
</head>
<body>
  
    <div id="mobile-container">
mobile
    </div>

    <div id="desktop-container">
        desktop
    </div>
    <!-- This script switches based on the detected screen-->

    <script>
$(document).ready(function () {

    if( /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent) ) {
      jQuery('#mobile-container').show();
    }else{
      jQuery('#desktop-container').show();
   }
});
    </script>


</body>




</html>

我的网页
html,正文{高度:100%;宽度:100%;边距:0;填充:0;}
可移动的
桌面
$(文档).ready(函数(){
if(/Android | webOS | iPhone | iPad | iPod | BlackBerry | IEMobile | Opera Mini/i.test(navigator.userAgent)){
jQuery(“#移动容器”).show();
}否则{
jQuery(“#桌面容器”).show();
}
});

根据桌面或移动视图,您应该使用两个具有不同html的不同容器。默认情况下,使两个容器都显示:无

然后使用jquery更改视图

jQuery(document).ready(function () {

    if( /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera 
       Mini/i.test(navigator.userAgent) ) {
      jQuery('#mobile-conatiner').show();

    }else{
      jQuery('#desktop-conatiner').show();
   }
});

它们是否完全不同(如果是,原因是什么),以至于不能将响应性设计技术与HTML和CSS结合使用?根据检测到的视口大小,您至少可以使用媒体查询来提供两组完全不同的HTML。另外,仅供参考,在PHP中,您无法真正做到这一点,因为它在服务器上运行,不知道页面将如何显示在客户端上——它只是向请求的客户端返回一些HTML。它甚至不知道请求者是否是网络浏览器(与机器人或其他类型的程序相反)。很久以前,人们将子域用作移动设备的
m.mysite.com
。不止一个用户可以将布局切换到桌面/移动模式。。。但我不推荐它,因为它是一个最小的网站,所以只需将所有桌面和移动代码包装在单独的容器中,然后使用css媒体查询即可。@ADyson是的,它们是两个完全不同的东西。移动网站是一个一键、全屏的东西。桌面网站伪造(或将伪造)一个终端,以给人一种怀旧的感觉,这对项目很重要。所以它们有不同的内容。你可以尝试检测服务器上的用户代理字符串来提供不同的内容——但正如我前面提到的,这并不特别可靠,它们也可能被欺骗,而且它也检测不到准确的视口大小,它只能(尝试)区分“移动”和“桌面”浏览器。因此,我们两人对单独的媒体查询提出的想法可能是更好的。我明白了,看起来媒体查询是可行的,但我可以要求一个最小的工作示例,我可以调整它以适合我的页面吗?