项目原来用1.3.2创建的并集成了官方的protobuf,后来生到1.4.0,使用也没有问题,然后升级到1.4.2,一直使用没有问题,今天不知道怎么了,突然报 TypeError: Cannot read property ‘navigator’ of undefined,一直找不到原因,一下午的时间就这么过去了(差点重做系统。。。),最后经过跟同事的对比,终于找到了问题 。。。。
如果你集成了官方的protobuf,遇到这个问题,可以使用我修改后的文件,替换一下
注,protobuf为3.2.0版本
google-protobuf.js.zip (33.0 KB)
1赞
补充一下,
由于protoc生成的协议都带require 即 var jspb = require(‘google-protobuf’);
所以没有导入为插件,协议等都没有导入插件
所以你修改了什么?
哦…… 明白了,不导入为插件的锅。
啊呀,我之前也遇到了这个问题。你移动或者改变这个protobuf脚本(只要刷新了这个脚本),就会触发这个问题。我解决的办法是直接用的源码。没想到竟然是 不导入为插件的锅。
还是不太清楚怎么使用,能不能提供个简单的示例学习一下
你们使用protobuf有没有碰到文件过大的问题?
我们的协议文件生成的js有5MB,而使用protobuf.js的脚本加json才不到1MB.
话说,今天升到1.6正式版本,并没有什么问题呢。。。
1.5 到1.6 还是要改的啊
我是1.5直接升到1.6正式版,直接就可以使用~
我不行,你随便改下 google-protobuf 这个文件,然后保存刷新试试
我这里已经升级到1.6.0正式版本了,并没有这个问题呀。。。
一直用的好好的。。。
不知道问题出在哪里,又回退到1.5.2了
改一下源文件,1.6 里面脚本加载时的 this 有所更改,你把 this.navigator 改成 window.navigator 即可
过几天试下,先处理眼前的事情