当前位置: 首页 > 编程笔记 >

JS跳转手机站url的若干注意事项

宗政金鹏
2023-03-14
本文向大家介绍JS跳转手机站url的若干注意事项,包括了JS跳转手机站url的若干注意事项的使用技巧和注意事项,需要的朋友参考一下

引子:

去年年底公司开发手机站平台,经历了前期的用户群、市场调查,产品需求分析,产品原型设计,ui前端到程序开发上线测试等等工作,终于上线。。。此处略去本人作为前端开发的心情。

应该说,我们的手机站平台还是个顽皮小孩子,还有许多需要去学习,去磨练。

我们手机站平台的设计初衷是对接我们已有的PC站平台,简单说就是原来我们所有的用户使用的是我们的PC站服务,现在可以得到一个网站数据与PC站 一样的手机站点。重点是老用户还不收钱,免费用。(PC端网站的客户 想想是不是有点儿小激动呢)上线一段时间,感觉很多客户还是蛮感兴趣的,都在自己的手机上安装了这个那个的二维码扫面软件,对着手机网站的二维码扫啊扫的。

话入正题:

废话不多说,很多客户慕名而来,原来不是我们做PC的客户买了我们的手机站服务,这就产生了从其PC站如何能够跳转到手机站的问题。

我想,通过javascript获取客户端的 navigator.userAgent 之后使用url跳转 是一个不错的方法。

走你-代码:

var isMobile = {
  Android: function() {
    return navigator.userAgent.match(/Android/i) ? true : false;
  },
  BlackBerry: function() {
    return navigator.userAgent.match(/BlackBerry/i) ? true : false;
  },
  iOS: function() {
    return navigator.userAgent.match(/iPhone|iPod/i) ? true : false;
  },
  Windows: function() {
    return navigator.userAgent.match(/IEMobile/i) ? true : false;
  },
  Linux: function() {
    return navigator.userAgent.match(/Linux/i) ? true : false;
  },
  any: function() {
    return (isMobile.Android() || isMobile.BlackBerry() || isMobile.iOS() || isMobile.Windows() || isMobile.Linux());
  }
};
setTimeout(function() {
  if (isMobile.any()) {
    var body = document.getElementsByTagName('body');
    body[0].style.display='none';
    location.href = "http://m.某某.com/";
  }
}, 10);

简单分析:

一、在那些设备上需要跳转URL?

在XP,win7和mac下,一般不做手机站跳转的。

市面上的 Android 、BlackBerry 、iOS 、Windows mobile(phone) 、Linux等系统,为大家所常用的手机端操作系统。火狐的webOS,“远古时代”的诺基亚塞班等等,在国内外好像好没有市场了,不要去考虑。

二、在页面跳转时,存在哪些问题?

1.原PC网站需要加载的资源可能很多,跳转URL之前PC站的页面可能已经呈现,跳转的效果太生硬

  解答:js获取终端的特性后,立即将body设置为隐藏

2.使用 window.onload 还是 setTimeout?

  解答:setTimeout是由我选择何时执行,而可恶的 window.onload需要我等所有的资源下载后去执行我的方法,故我推荐使用 setTimeout();

小结:

关于终端设备的判断,上面的代码很肤浅的做了很尴尬的 url 跳转,这是不得已的方法。若是服务器端根据客户端的请求头信息来判断设备特性,依此返回不同的资源是更好的选择。

随着移动端设备的发展,很多浏览器能够设置或者自定义修改 客户端的请求头信息,也是这段js可能面临的问题,有待更新呐!

 类似资料:
  • 本文向大家介绍django页面跳转问题及注意事项,包括了django页面跳转问题及注意事项的使用技巧和注意事项,需要的朋友参考一下 1.页面跳转 项目的urls: app的urls: 如果登录成功如何跳转到首页? 注意:return Response(response,'home.html'),只是打开了一个新的页面,并非跳转. 2.遇到的问题:登录成功后,页面跳转到首页,但是url并没有改变.

  • 本文向大家介绍PHP Header用于页面跳转时的几个注意事项,包括了PHP Header用于页面跳转时的几个注意事项的使用技巧和注意事项,需要的朋友参考一下 前言 本文介绍的是在PHP中用header("location:test.php")进行跳转要注意以下几点,有助于解决一些新手经常遇到的问题 一、location和“:”号间不能有空格,否则会出错。 二、在用header前不能有任何的输出。

  • 因换购或转让等原因要丢弃PS Vita时,请事先通过以下操作删除PlayStation®Network的账号信息等,以保护个人信息免遭第三者非法利用。 备份 需要时,可将PS Vita的数据备份至PS3™或电脑。已备份的数据可还原至新的PS Vita。若要备份/还原,请使用(内容管理)。 解除设备认证 转让主机后将无法解除设备认证。1个PlayStation®Network账号可认证的主机台数有限

  • 第五章 注意事项 对进程有了深入理解后,我们编写实际应用可能遇到这些坑,这里总结一下。

  • 获取xpath位置有两种方法,一直是直接在浏览器中右键Copy Xpath,这种一般是绝对位置,另一种是自己根据element属性,编写相对位置。 如果该网站允许加载JavaScript或者浏览器有渲染,会导致直接在浏览器中复制的Xpath位置不正确,所以建议是点击右键——显示网页源代码,从这里查看网页结构,一般可以根据class的name来编写xpath。 自己尝试使用xpath、css两种选择

  • 有时间一定要熟悉Requests的文档:Requests: 让 HTTP 服务人类¶ Requests 完全满足今日 web 的需求。 Keep-Alive & 连接池 国际化域名和 URL 带持久 Cookie 的会话 浏览器式的 SSL 认证 自动内容解码 基本/摘要式的身份认证 优雅的 key/value Cookie 自动解压 Unicode 响应体 HTTP(S) 代理支持 文件分块上传