js一些其他问题

  记录网上一些好的解决办法的链接  

扫描二维码下载app

扫描一个二维码,android和ios都可以下载app。

其中涉及到的点:

1、html中要判断是来自android还是ios

2、因为一般人使用微信扫一扫,所以,判断若是微信,提示在浏览器中打开。

判断扫码来源

判断打开来源(浏览器 || IOS || Android)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
var browser = {
versions: function() {
var u = navigator.userAgent, app = navigator.appVersion;
var isWeixin = !!/MicroMessenger/i.test(u);
return {//移动终端浏览器版本信息
trident: u.indexOf('Trident') > -1, //IE内核
presto: u.indexOf('Presto') > -1, //opera内核
webKit: u.indexOf('AppleWebKit') > -1, //苹果、谷歌内核
gecko: u.indexOf('Gecko') > -1 && u.indexOf('KHTML') == -1, //火狐内核
mobile: !!u.match(/AppleWebKit.*Mobile.*/) || !!u.match(/AppleWebKit/), //是否为移动终端
ios: !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/), //ios终端
android: u.indexOf('Android') > -1 || u.indexOf('Linux') > -1, //android终端或者uc浏览器
iPhone: u.indexOf('iPhone') > -1 || u.indexOf('Mac') > -1, //是否为iPhone或者QQHD浏览器
iPad: u.indexOf('iPad') > -1, //是否iPad
webApp: u.indexOf('Safari') == -1 //是否web应该程序,没有头部与底部
};
}(),
language: (navigator.browserLanguage || navigator.language).toLowerCase()
}
if (browser.versions.ios || browser.versions.iPhone || browser.versions.iPad) {
// ios
window.location = "http://...";
}
else if (browser.versions.android) {
// android
// todo: Check if it opens in WeChat, if yes, remind, otherwise jump directly to the download link
}

判断打开来源(微信 || 支付宝)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
function isWechat(){
var ua = window.navigator.userAgent.toLowerCase();
if(ua.match(/MicroMessenger/i) == 'micromessenger'){
return true;
}else{
return false;
}
}
function isAli(){
var ua = window.navigator.userAgent.toLowerCase();
if(ua.match(/AlipayClient/i) =='alipayclient'){
return true;
}else{
return false;
}
}

获得页面传过来的参数

html跳转,get请求带参数,获取参数

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
function getParam() {
var urlInfo = decodeURIComponent(window.location.href); //获取当前页面的url
var intLen = urlInfo.length; //获取url的长度
var offset = urlInfo.indexOf("?"); //设置参数字符串开始的位置
var strKeyValue = urlInfo.substr(offset+1, intLen); //取出参数字符串 这里会获得类似“id=1”这样的字符串
var arrParam = strKeyValue.split("&"); //对获得的参数字符串按照“=”进行分割
var map = {};
for(var i in arrParam){
var temp = arrParam[i];
var val = temp.split("=");
map[val[0]] = val[1];
}
return map;
}
var map = getParam();
var startTime = map["startTime"];

json与字符串

1
2
var obj = JSON.parse(str); //由JSON字符串转换为JSON对象
var last=JSON.stringify(obj); //将JSON对象转化为JSON字符

其他内容

以下是一些好的文章

1、JS怎么刷新当前页面

2、jQuery中$.click()无效问题分析

3、HTML5服务器推送消息的各种解决办法

4、JS中几种多行字符串的实现方法

文章目录
  1. 1. 扫描二维码下载app
  2. 2. 判断扫码来源
  3. 3. 判断打开来源(微信 || 支付宝)
  4. 4. 获得页面传过来的参数
  5. 5. json与字符串
  6. 6. 其他内容
|