Bug 汇总之 vue开发

vue-cli 打包后,安卓低版本(低版本浏览器)页面打开空白。

并不知道报什么错,但是猜测估计是跟低版本的浏览器对es6新语法并不支持的原因。

还好,还有提供的解决方案,就是babel-polyfill.详情参见 babel-polyfill 介绍

npm install --save babel-polyfill

然后在vue中,引入 babel-polyfill 就可以啦~

import BabelPolyfill from "babel-polyfill"
Vue.use(BabelPolyfill)

部分ios手机微信中直接使用document.title = xxx修改 title 无效

所以可能原因大致就是因为在微信中WebView只加载网页标题一次 动态改变是无效的。

既然js动态改变不能生效 那为什么不尝试在路由切换完成后 静默加载一个空iframe动态设置title呢?

let setWechatTitle = (title) => {
    document.title = title; 
    //ios系统下通过iframe设置title
    var mobile = navigator.userAgent.toLowerCase();
    if (/iphone|ipad|ipod/.test(mobile)) {
        let iframe = document.createElement('iframe');
        iframe.style.display = "none";
        iframe.src = "//m.baidu.com/favicon.ico";  //图片可以换成任意较小的图片

        let iframeCallback = () => {
            setTimeout(() => {
                iframe.removeEventListener('load', iframeCallback);
                document.removeChild(iframe)
            }, 0);
        }

        iframe.addEventListener('load', iframeCallback);
        document.body.appendChild(iframe);
    }
}

module.exports = {
    setWechatTitle: setWechatTitle
}

具体代码可参考这这篇文章在部分ios微信中使用vue单页面设置标题兼容问题

打赏一个呗

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦