判断当前页面是手机还是电脑,显示两种页面

> 博客详情
摘要: 判断http请求来自某种设备的简单示例
&&&&某些情形,我们需要判断Http请求是来自手机端还是电脑端,关键是取得User-Agent的信息,进行筛选判断即可。
核心类如下:
public&static&boolean&&isMobileDevice(String&requestHeader){
&*&android&:&所有android设备
&*&mac&os&:&iphone&ipad
&*&windows&phone:Nokia等windows系统的手机
String[]&deviceArray&=&new&String[]{"android","mac&os","windows&phone"};
if(requestHeader&==&null)
requestHeader&=&requestHeader.toLowerCase();
for(int&i=0;i&deviceArray.i++){
if(requestHeader.indexOf(deviceArray[i])&0){
在controller中获取http头信息如下:
&&&&&&&&&&&&&String&requestHeader&=&request.getHeader("user-agent");
if(JudgeRequestDeviceUtil.isMobileDevice(requestHeader)){
&&&&logger.debug("使用手机浏览器");
&&&&logger.debug("使用web浏览器");
人打赏支持
参与源创会
领取时间:
“”在线下联结了各位 OSCer,推广开源项目和理念,很荣幸有你的参与~
领取条件:参与过开源中国“源创会”的 OSCer 可以领取
码字总数 8362
支付宝支付
微信扫码支付
打赏金额: ¥
已支付成功
打赏金额: ¥匿名用户不能发表回复!|
每天回帖即可获得10分可用分!小技巧:
你还可以输入10000个字符
(Ctrl+Enter)
请遵守CSDN,不得违反国家法律法规。
转载文章请注明出自“CSDN(www.csdn.net)”。如是商业用途请联系原作者。问题对人有帮助,内容完整,我也想知道答案
问题没有实际价值,缺少关键内容,没有改进余地
目前的项目是单页面的,但是项目中以一部分是需要区分电脑还是手机的。我判断好了,只是在手机端的时候,我需要将导航和菜单公用的部分,消除,然后将手机端的页面渲染出来。我直接用的document.body.innerHTML="";这样写的,可是清空了文档中的全部元素之后,可是渲染页面不对了。想问下为什么?代码:
var sUserAgent = navigator.userAgent.toLowerCase();
var pc=sUserAgent.match(/windows/i) == "windows";
console.log('当前是pc');
var tt=_this.
console.log('当前是phone');
document.body.innerHTML="";
var tt=_this.templateT;
//渲染页面
api.content.data.query({
dataid : this.dataid,
moduleId : _this.module.id,
addPageview : true
success : function(result) {
if (result.data) {
_this.$el.html(tt({
data : result.data,
module : _this.module,
pageIndex : _this.pageIndex
// 视频处理为html video标签直接播放
var $embeds = _this.$('embed');
if ($embeds.length & 0) {
$embeds.each(function() {
var $e = $(this), $video = $('&video controls&').attr('width', $e.attr('width')).attr('height', $e.attr('height')).attr('src', $e.attr('src'));
if ($e.attr('autostart') == 'true') {
$video.attr('autoplay', '');
$e.replaceWith($video);
document.title="IP ONLINE"+result.data.
var $config = {
: result.data.title, // 标题,默认读取 document.title 或者 &meta name="title" content="share.js" /&
description
: result.data.summary, // 描述, 默认读取head标签:&meta name="description" content="PHP弱类型的实现原理分析" /&
: ['qzone', 'qq', 'weibo','wechat', 'douban'], // 启用的站点
_this.$('#share-1').share($config);
// 渲染上一篇
_this.renderPrevious();
// 渲染下一篇
_this.renderNext();
_this.$el.html('指定的数据不存在或已被删除!');
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
方向错误, 请使用css media query 只需要调整css样式让屏幕宽度小于768px的时候隐藏一部分页面内容就可以了, 搜索css media query, css响应式布局等关键字.
768, 992, 1200这几个关键的像素值来自bootstrap框架.
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
方法1: 根据屏幕大小响应式布局;方法2: 把 PC 和 移动端 页面分开,让后端来按照 user-agent 来区分;两种页面混在一起,页面臃肿而且容易出问题。
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
只是将导航和菜单公用的部分消除为什么要整个body的html都删除?
同步到新浪微博
分享到微博?
你好!看起来你挺喜欢这个内容,但是你还没有注册帐号。 当你创建了帐号,我们能准确地追踪你关注的问题,在有新答案或内容的时候收到网页和邮件通知。还能直接向作者咨询更多细节。如果上面的内容有帮助,记得点赞 (????)? 表示感谢。
明天提醒我
关闭理由:
删除理由:
忽略理由:
推广(招聘、广告、SEO 等)方面的内容
与已有问题重复(请编辑该提问指向已有相同问题)
答非所问,不符合答题要求
宜作评论而非答案
带有人身攻击、辱骂、仇恨等违反条款的内容
无法获得确切结果的问题
非开发直接相关的问题
非技术提问的讨论型问题
其他原因(请补充说明)
我要该,理由是:
扫扫下载 App后使用快捷导航没有帐号?
只需一步,快速开始
查看: 3135|回复: 7
同一个页面电脑和手机看到的效果不一样,请问有谁知道是怎么实现的?
UID476890在线时间 小时积分277帖子离线17343 天注册时间
中级会员, 积分 277, 距离下一级还需 223 积分
本帖最后由 chaoguang 于
23:16 编辑
如下页面:,手机和电脑看到的不一样,我能想到的这个可以通过两种方法来实现,一是通过对浏览器的判断跳转到两个不同的页面,二是通过对浏览器的判断加载不同的样式和js,但通过查验,手机和电脑看到的是同一个页面,然后我把该页面下下来,放在网上,可是通过手机访问还是和电脑一样,所以第二种也不是,不明白这是怎样实现的,还请高人指教
UID657579在线时间 小时积分2740帖子离线17343 天注册时间
银牌会员, 积分 2740, 距离下一级还需 260 积分
一般不是前端控制的。后台语言如php,可以根据http请求来源知道访问者是pc还是mobile,直接输出不同的view就解决了。
因为你用前端控制这个首先得把资源加载到前端,然后在重定向或者输出到前端的资源包含两份,都是很浪费的。
UID657579在线时间 小时积分2740帖子离线17343 天注册时间
银牌会员, 积分 2740, 距离下一级还需 260 积分
你用谷歌浏览器查看就知道,按F12,有手机模式选择,这个模式下面,会模拟mobile请求。
这是模拟请求:User-Agent:Mozilla/5.0 (L Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.76 Mobile Safari/537.36
这是正常请求:User-Agent:Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0. Safari/537.36
UID476890在线时间 小时积分277帖子离线17343 天注册时间
中级会员, 积分 277, 距离下一级还需 223 积分
一般不是前端控制的。后台语言如php,可以根据http请求来源知道访问者是pc还是mobile,直接输出不同的view ...
php能获取到访问者是pc还是mobile吗,这种类型的判断不都是通过js来判断的吗
UID476890在线时间 小时积分277帖子离线17343 天注册时间
中级会员, 积分 277, 距离下一级还需 223 积分
你用谷歌浏览器查看就知道,按F12,有手机模式选择,这个模式下面,会模拟mobile请求。
这是模拟请求:Use ...
这个我试过,没有效果,在电脑上看到的还是电脑的界面效果
UID657579在线时间 小时积分2740帖子离线17343 天注册时间
银牌会员, 积分 2740, 距离下一级还需 260 积分
看这里,选择之后可能需要刷新下页面
(29.81 KB, 下载次数: 0)
19:48 上传
(80.14 KB, 下载次数: 0)
19:48 上传
UID476890在线时间 小时积分277帖子离线17343 天注册时间
中级会员, 积分 277, 距离下一级还需 223 积分
看这里,选择之后可能需要刷新下页面
确实可以,是要刷新一下,非常感谢,我再研究一下
UID476890在线时间 小时积分277帖子离线17343 天注册时间
中级会员, 积分 277, 距离下一级还需 223 积分
一般不是前端控制的。后台语言如php,可以根据http请求来源知道访问者是pc还是mobile,直接输出不同的view ...
确实可以通过后台语言来探测访问者是pc还是mobile,直接输出不同的view,谢谢!
Powered by}

我要回帖

更多关于 判断当前页面 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信