我的代码过去可以工作,现在仍然可以使用最新的SDK1.8.3,但是在生产中它不再工作了。它在这里失败了:
ch = new goog.appengine.Channel(token);
ch.open(); <--- this never returns浏览器调试器显示下面的堆栈跟踪。生产channek.js的https://talkgadget.google.com/talkgadget/channel.js代码
Uncaught TypeError: Cannot read property 'removeEventListener' of undefined [VM] channel.js (18280):22
Qb [VM] channel.js (18280):22
cb [VM] channel.js (18280):14
g.Ma [VM] channel.js (18280):30
Zd [VM] channel.js (18280):88
ae [VM] channel.js (18280):87
$ [VM] channel.js (18280):95
ge.open [VM] channel.js (18280):100
reset 062a630fa51c7bd829554631f0939936-school_swapp.js:1
(anonymous function)在SDK的例子中,我还看到一些与下面类似的随机javascript堆栈跟踪,但是使用SDK,代码就像预期的那样工作。我提到这一点是为了完整,以防有人发现这个问题。
Uncaught TypeError: Cannot call method 'markAsRemoved' of undefined jsapi:3069
goog.events.ListenerMap.removeAll jsapi:3069
goog.events.EventTarget.removeAllListeners jsapi:3159
goog.events.EventTarget.disposeInternal jsapi:3142
goog.net.XhrIo.disposeInternal jsapi:4915
goog.Disposable.dispose jsapi:2538
goog.net.XhrIo.cleanupSend_ jsapi:4841
goog.events.EventTarget.fireListeners jsapi:3171
goog.events.EventTarget.dispatchEventInternal_ jsapi:3207
goog.events.EventTarget.dispatchEvent jsapi:3138
goog.net.XhrIo.cleanUpXhr_ jsapi:4955
goog.net.XhrIo.onReadyStateChangeHelper_ jsapi:4943
goog.net.XhrIo.onReadyStateChangeEntryPoint_ jsapi:4927
goog.net.XhrIo.onReadyStateChange_发布于 2013-09-11 07:35:46
我把事情搞清楚了。如果您在javascript中添加了如下方法
Object.prototype.foobar = function() {}然后我在问题中描述的问题就发生了!删除/更改这样的代码解决了这个问题。在我看来,这听起来像是生产channel.js代码中的一个bug。
发布于 2013-09-10 15:50:46
我的频道API运行良好。
我想我也看到过其他关于用应用程序的X版创建的频道没有使用Y版创建的频道的评论,这就是你所遇到的吗?
https://stackoverflow.com/questions/18690793
复制相似问题