楼主最近有一个项目是需要用vue嵌入到安卓做成TV端的应用的,TV端的安卓版本绝大多数都是4.4,因此需要做兼容处理,这个坑,属实难受。
1.项目刚嵌进去就报了一个net::ERR_CLEARTEXT_NOT_PERMITTED,那时候安卓的对接人一直是说我的代码问题,结果我用了一天的调试时间把锅甩了回去,估计是url后面参数的问题,相同的url后面不带长串的参数的话,是没有问题的,如果带了参数就会报这个错,应该是安卓那边的网关需要配置什么,花了一天的时间终于搞定了这个。
2.然后遇到的是白屏问题,就是进入这个应用,页面出现白屏,任何都操作不了,这个排坑快花了一天,也是因为处理兼容经验太少吧,最后是发现里面有一个引用文件(crypto-js)的版本太高,导致不兼容,降低版本即可。
3.关于白屏处理还需要用babel-polyfill去处理。 首先在main.js中:加入处理(没有依赖的自行下载)
import 'babel-polyfill' //如果在webpack.base.conf.js 已经引入babel-polyfill,则此处不需要再引入,否则会报错
import Es6Promise from 'es6-promise'
require('es6-promise').polyfill()
Es6Promise.polyfill()
并在vue.config.js中,加入以下代码:
chainWebpack(config) {
config.entry.app = ['babel-polyfill', './src/main.js']
}
如果各位大佬的版本是vue-cli3,webpack.base.conf.js配置的话就在入口加入
entry: {
app: ["babel-polyfill", "./src/main.js"]//改为最新的这行入口
// app: ‘./src/main.js’
},
目前为止白屏问题应该就解决了
TV端还有一个焦点的问题,这时候百度到了一个插件,还是挺好用的也挺轻量的。
推荐一下:vue-tv-focusable,可以去原博看看具体文档。 blog.csdn.net/sllailcp/ar…
各位伙伴如果有遇到相同没解决的问题可以留言讨论一下,如果解决你们的问题欢迎点个赞,谢谢大家。