开发中的小积累【持续更新中...】

有些问题比较冷门,可有时候又不得不用,而有些知识点却总是记了又忘!与其每次都要去找,不如集中起来以后直接查阅:

1.一串数字或字母不会自动换行,撑开容器:

  使用:word-wrap:break-word  强制换行

 

2.如果你想让你的列表,表格还是其他的奇偶有所差异,别在用%2去判断了,试试用CSS解决:

  使用:nth-child() 选择器  nth-of-type() 选择器

      nth-child(n)/nth-of-type(n):      表示父元素的第几个(特定)元素

      nth-child(odd)/nth-of-type(odd):    表示奇数行

      nth-child(even)/nth-of-type(even):   表示偶数行

      nth-child(an + b)/nth-of-type(an + b):  表示周期的长度,n 是计数器(从 0 开始),b 是偏移值。

 

3.数组去重:[... new Set(array)]  set本身是一个构造函数,用来生成Set数据结构。它类似于数组,但是成员是唯一的

 

4.随机取出数组中的元素:var index = Math.floor(Math.random()*数组名.length);

 

5.获取URL路径中的参数:

function getUrlParam(name){
    var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");
    var r = window.location.search.substr(1).match(reg);
    if (r != null) return unescape(r[2]);
    return null;
}
getUrlParam

 

6.H5页面检测是否在小程序中打开,微信官方提供的小程序检测方式有失效的可能,本猿之前就遇到过这种情况,代码贴出如下:

<script type="text/javascript" src="https://res.wx.qq.com/open/js/jweixin-1.3.2.js"></script>
<script>
    var ua = navigator.userAgent.toLowerCase();
    if(ua.match(/MicroMessenger/i)=="micromessenger") {
        //ios的ua中无miniProgram,但都有MicroMessenger(表示是微信浏览器)
        wx.miniProgram.getEnv((res)=>{
           if (res.miniprogram) {
               alert("在小程序里");
           } else {
               alert("不在小程序里");
           }
        })
    }else{
        alert('不在微信里');
    }
</script>
wx.miniProgram.getEnv

后在网上查找了很多方法,最终将可用方式贴在下面:

   // 判断是否在微信小程序中,如果是则隐藏分享
        function isWeiXin() {
            var ua = window.navigator.userAgent.toLowerCase();
            if (ua.match(/MicroMessenger/i) == 'micromessenger') {
                return true;
            } else {
                return false;
            }
        }
        function ready() {
            if(!window.__wxjs_environment){
                //非微信小程序
            }
            else{
                if(window.__wxjs_environment === 'miniprogram'){
                    //微信小程序
                }else{
                    //非微信小程序
                }
            }
            
        }
        if(isWeiXin()){
            if (!window.WeixinJSBridge || !WeixinJSBridge.invoke) {
                document.addEventListener('WeixinJSBridgeReady', ready, false);
            } else {
                ready();
            }
        }else{
            //非微信环境
        }    
miniprogram

 

7.父页面与iframe页面交互:

  父页面:document.getElementById("iframe").contentWindow.变量名/方法;

  iframe页面:parent.变量名/方法;

posted on 2019-01-18 16:06  王裕会  阅读(117)  评论(0)    收藏  举报

导航