移动端h5自适应适配之flexible.js打假
最近做一个移动端的h5适配,在网上找方案基本上都是使用flexible.js,然后顺理成章我也入了这个坑。
引用flexible.js的方式无外乎cdn引入:
<script src="http://g.tbcdn.cn/mtb/lib-flexible/0.3.2/??flexible_css.js,flexible.js"
></script>
下载文件到本地或者npm安装。
源代码如下:
在引入之后发现遇到了各种奇怪的问题,比如如果在元素上设置了class指定了元素的大小,那么当屏幕的scale改变时字体会随着scale而变化,再比如在某些安卓手机上dpr或者scale会没有值,导致适配方案失效,这些问题都是因为判断的时候没有考虑到所有的情况,但是网上查到的解决方案全是这样的,难道是我的写法有问题,又或者引入的版本有问题?抱着对自己的怀疑我找了一下午,直到我找到了这个githubhttps://github.com/amfe/lib-flexible。
这里说明了之前的flexible.js已经可以弃用了,而且不管哪个版本都有问题,那么正确的使用方式应该代码中引入如下文件:
(function flexible (window, document) {