Phonegap/Cordova - 套接字插件最终得到: undefined is not a function in cordova.js
Posted
技术标签:
【中文标题】Phonegap/Cordova - 套接字插件最终得到: undefined is not a function in cordova.js【英文标题】:Phonegap/Cordova - Socket plugins end up with: undefined is not a function in cordova.js 【发布时间】:2015-01-10 23:03:09 【问题描述】:我已为套接字添加了这个 phonegap/cordova 插件 (android),但无法正常工作。 https://github.com/blocshop/sockets-for-cordova/tree/version1.1
我收到日志消息“debug 1”和“debug2”。所以创建 socketHandle 对象是可行的。但它在 socketHandle.open 上失败了。控制台说:
控制台日志
file:///android_asset/www/cordova.js:第 927 行:未捕获的 TypeError: undefined 不是函数
JS 代码
console.log("debug 1");
var socketHandle = new Socket();
console.log("debug 2");
socketHandle.open(
"192.168.1.15",
51213,
function()
alert("success");
// invoked after successful opening of socket
,
function(errorMessage)
alert("failed");
// invoked after unsuccessful opening of socket
);
console.log("debug 3");
cordova.js 第 927 行(在 androidExec 函数内):
var messages = nativeApiProvider.get().exec(bridgeSecret, service, action, callbackId, argsJson);
我尝试了其他套接字插件,但最终遇到了同样的问题。希望有人可以帮助我或指出正确的方向。
【问题讨论】:
您是否尝试为 socketHandle 绑定 onData、onError 和 onClose在你打电话之前 open? 是的,我试过了。但这并不能解决问题。 【参考方案1】:似乎 phonegap 没有以正确的顺序加载 js 包含。我已将 cordova.js 的包含放在我的 index.html 的 head 部分,它现在可以工作了。真奇怪
【讨论】:
以上是关于Phonegap/Cordova - 套接字插件最终得到: undefined is not a function in cordova.js的主要内容,如果未能解决你的问题,请参考以下文章
适用于 iOS 的 Phonegap/Cordova 日历插件无响应
Phonegap (Cordova) 2.7.0 + Mapkit 插件 + 入门
使用 Phonegap/Cordova 相机插件从相机或图库中选择照片