关于前端公众号开发的零碎知识点集合

1.关于苹果手机和安卓手机的判断方法

 var u= navigator.userAgent;

var isiOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); //iOS终端

var isAndroid = u.indexOf('Android') > -1 || u.indexOf('Adr') > -1; //安卓终端

2.关于苹果手机全面屏判断方法

var rate= window.screen.height/ window.screen.width;  

 var limit=  window.screen.height== window.screen.availHeight? 1.8 : 1.65;// 临界判断值

 var result = rate> limit ? '是全面屏':‘不是全面屏’;

3.关于是否是用微信打开前端页面判断

function isWeiXin() {

    var ua = window.navigator.userAgent.toLowerCase();

  // 不加window部分Android机会显示不了提示图,即判断不了是否是微信

    if (ua.match(/MicroMessenger/i) == 'micromessenger') {

        return true;

    } else {

        return false;

    }

}

4.flex布局在iphone 6上不兼容的问题

display:flex → display:-webkit-flex

justify-content:space-between;→-webkit-justify-content:space-between

align-items:center;→-webkit-align-items:center

flex-direction:column;→ webkit-flex-direction:column;

flex-wrap:wrap;→ webkit-flex-wrap:wrap;

5.苹果手机公众号输入框焦点问题

@onblur="loseFocus"

function  loseFocus() {

                    var ua= navigator.userAgent.toLowerCase();

                    var u= navigator.userAgent.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/);

                    if(ua.match(/MicroMessenger/i)== 'micromessenger' && !!u) {

                        var currentPosition, timer;

                        var speed= 0;//页面滚动距离

                        timer = setInterval(function() {

                            currentPosition= document.documentElement.scrollTop|| document.body.scrollTop;

                            currentPosition-= speed;

                            window.scrollTo(0, currentPosition);//页面向上滚动

                            currentPosition += speed; //speed变量

                            window.scrollTo(0, currentPosition);//页面向下滚动

                            clearInterval(timer);

                        },1);

                    }

                }


6.利用js动态添加css,可参照2,因为在苹果公众号,全面屏和非全面屏,同样的css显示字体实际大小不一样,所以按照需要加载不同的css

 var head= document.head|| document.getElementsByTagName('head')[0];

var style = document.createElement('style');

style.type= 'text/css';

head.appendChild(style);

 style.innerHTML= ".cell-bottom {font-size: 0.14rem;}.cell-bottom .time {font-size: 0.16rem;}";

7.safari浏览器(苹果手机)处理字符串转时间兼容问题

2020-04-01 00:00:00 safari只识别‘/’

item.endDate.replace(/\-/g, "/")




8.文字在苹果手机公众号上下不居中问题,及line-height 问题

在公众号开发中慎用,慎用,慎用 line-height让文字上下居中,因为在苹果公众号上,文字会自动偏下,苹果公众号会自动为元素添加padding

解决方法,不设置有背景色的标签的高度,用padding来达到设置高度的目的(非常重要)


9.margin padding 问题

父标签中第一个子标签设置margin-top 不起作用,这个margin-top的值会自动转化为父标签的margin-top,此时用父标签的padding代替



10.按钮中放图片问题

11.设置padding和margin均为0的情况下,标签之间仍有空格问题

代码换行,编辑器空格问题

12.微信公众号开发js文档

https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/JS-SDK.html#3

关闭浏览器方法

          document.addEventListener('WeixinJSBridgeReady',function(){ WeixinJSBridge.call('closeWindow'); },false);

          WeixinJSBridge.call('closeWindow');

13.公众号和浏览器返回上个界面问题

 history.pushState(null,null,document.URL);

 window.addEventListener('popstate',function () {history.pushState(null,null,document.URL); });

window.addEventListener("popstate",function(e) {location.href="test.html"},false); 接收事件

14.关于通用的上中下布局 ,上面高度固定,下面内容自动填充,中间随上下位置改动,内容多的情况滑动

* {margin: 0;padding: 0;}html {height: 100%;}body {height: 100%;}

.bodyPage {height: 100%;display: flex;flex-direction: column;}

.head {height: 100px;background: green;}

.content {flex: 1;margin: 20px 0;background:lightblue;overflow: scroll}

.foot {background: blue;margin-bottom: 20px;}

<div class="bodyPage">

  <div class="head"></div>

  <div class="content"></div>

  <div class="foot">阻止默认的处理方式阻止默认的处理方式</div>

</div>


15.隐藏公众号右上角分享按钮

function onBridgeReady() {

            WeixinJSBridge.call('hideOptionMenu');

        }


        if (typeof WeixinJSBridge== "undefined") {

            if (document.addEventListener) {

                document.addEventListener('WeixinJSBridgeReady', onBridgeReady,false);

            }else if (document.attachEvent) {

                document.attachEvent('WeixinJSBridgeReady', onBridgeReady);

                document.attachEvent('onWeixinJSBridgeReady', onBridgeReady);

            }

        }else {

            onBridgeReady();

        }


16.自定义分享和调用微信的功能

1.文档链接https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/JS-SDK.html#3

2.首先需要配置,配置文件检测链接 http://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=jsapisign

3.配置签名生成步骤 accesstoken--->jsapi_ticket----->通过微信提供的后台代码

4.获取accesstoken链接:https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=" + wappid + "&secret=" + secret

5.获取jsapi_ticket链接:https://api.weixin.qq.com/cgi-bin/ticket/getticket?access_token=ACCESS_TOKEN&type=jsapi


17.用户信息获取

第一步:用户同意授权,获取code

第二步:通过code换取网页授权access_token

第三步:刷新access_token(如果需要)

第四步:拉取用户信息(需scope为 snsapi_userinfo)

18。全面解决Html页面缓存的问题 链接:https://www.cnblogs.com/gluncle/p/9680520.html

html 

<meta http-equiv="Expires" content="0">

<meta http-equiv="Pragma" content="no-cache">

<meta http-equiv="Cache-control" content="no-cache">

<meta http-equiv="Cache" content="no-cache">


js和css

<script type="text/javascript">document.write('<script src="js/sign.js?v='+new Date().getTime()+'" type="text/javascript" charset="utf-8"><\/script>');</script>

<script type="text/javascript">document.write('<link rel="stylesheet" type="text/css" href="css/index.css?v='+new Date().getTime()+'" />');</script>

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 225,132评论 6 523
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 96,457评论 3 404
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 172,411评论 0 368
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 61,147评论 1 301
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 70,145评论 6 400
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 53,611评论 1 315
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 41,962评论 3 429
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 40,948评论 0 279
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 47,479评论 1 324
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 39,514评论 3 347
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 41,640评论 1 355
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 37,228评论 5 351
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 42,973评论 3 340
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 33,402评论 0 25
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 34,551评论 1 277
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 50,210评论 3 381
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 46,714评论 2 366