使用媒体查询创建'responsive'
网站时,如何使用按钮查看布局的“完整”/桌面版本?例如:
我可以看到他们显然在使用 M 子域,这不是我想要的。我只是希望能够单击一个链接并使网站认为浏览器不是移动宽度,直到 cookie 过期或其他任何情况。
我想过可能用js删除css文件,然后加载另一个?
你如何解决这个问题
使用媒体查询创建'responsive'
网站时,如何使用按钮查看布局的“完整”/桌面版本?例如:
我可以看到他们显然在使用 M 子域,这不是我想要的。我只是希望能够单击一个链接并使网站认为浏览器不是移动宽度,直到 cookie 过期或其他任何情况。
我想过可能用js删除css文件,然后加载另一个?
你如何解决这个问题
您使用哪种服务器端语言?
对于 python 和 django,我们使用https://pypi.python.org/pypi/django-mobile。
我们在视图代码中询问风味并发送不同的模板。
最常见的解决方案是在 2 个子域上提供站点。一种具有移动或响应式布局,另一种使用非响应式完整桌面布局。
Javascript 可能是这里的一个选项 - 使用类似的东西:
function getURLParameter(name){
return decodeURIComponent((new RegExp('[?|&]' + name + '=' + '([^&;]+?)(&|#|;|$)').exec(location.search)||[,""])[1].replace(/\+/g, '%20'))||null;
};
var version=getURLParameter('version');
var headHTML = document.getElementsByTagName('head')[0].innerHTML;
switch(version){
case 'mobile':
headHTML += '<link type="text/css" rel="stylesheet" href="style.css" media="only screen and (max-device-width: 480px)">';
break;
case 'desktop':
headHTML += '<link type="text/css" rel="stylesheet" href="style.css" media="only screen and (max-device-width: 1040px)">';
break;
default:
headHTML += '<link type="text/css" rel="stylesheet" href="style.css" >';
break;
}
version && document.getElementsByTagName('head')[0].innerHTML = headHTML;
然后,各种版本的链接将附加 GET 变量version=desktop
等,并且只会加载相关的 CSS。
清楚地 - 根据需要更改样式表包含中的媒体属性。