Skip to content

使用webpack打包安装adaptive的时候安卓浏览器下报报错 #3

Description

@qianlongo

引入方式

import adaptive from 'adaptive'

export default () => {
  adaptive.desinWidth = 375
  adaptive.baseFont = 14
  adaptive.init()
}

报错信息

Cannot read property 'newBase' of undefined

原因

function checkRem() {
        if (/android/ig.test(window.navigator.appVersion)) {
            var hideDiv = document.createElement('p');
            hideDiv.style.height = '1px';
            hideDiv.style.width = '2.5rem';
            hideDiv.style.visibility = 'hidden';
            document.body.appendChild(hideDiv);
            var now = hideDiv.offsetWidth;
            var right = window.adaptive.newBase * 2.5;  // 这一行从全局上面去读取adaptive,而通过webpack打包时全局是没有adaptive的,所以报错了,应该直接改成adaptive.newBase * 2.5;就可以吧
            if (Math.abs(right / now - 1) > 0.05) {
                lib.errDpr = right / now;
                setRem();
            }
            document.body.removeChild(hideDiv);
        }
    }


Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions