【发布时间】:2015-04-18 03:00:57
【问题描述】:
我必须从 signal.js java 脚本文件中访问 index.html 中的 cellid,cellid 是在 signal.js 文件中定义的。目前正在 index.html 中使用 require 函数来获取信号对象,但这不起作用
**index.html**
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript" charset="utf-8" src="signal.js"></script>
<script type="text/javascript" charset="utf-8">
var signal = require ("signal");
alert("CellID : "+ signal.cellID);
var CellID = signal.cellID;
</script>
</head>
</html>
signal.js
var exec = require('cordova/exec'),
cordova = require('cordova');
var Signal = function() {
this.imei = null;
this.operator = null;
this.cellID = null;
this.lac = null;
this.neighbors = {};
// Create new event handlers on the window (returns a channel instance)
this.channels = {
watchingnetwork: cordova.addWindowEventHandler("watchingnetwork")
};
for (var key in this.channels) {
this.channels[key].onHasSubscribersChange = Signal.onHasSubscribersChange;
}
};
Signal.onHasSubscribersChange = function() {
exec(signal.status, signal.error, "Signal", "getSignalInfo", []);
}
/**
* Callback for signal initiated
*
* @param {Object} info keys: imei, isPlugged
*/
Signal.prototype.status = function(info) {
cordova.fireWindowEvent("watchingnetwork", info);
if (info) {
if (signal.imei !== info.imei || signal.operator !== info.operator) {
if (info.imei == null && signal.imei != null) {
return; // special case where callback is called because we stopped listening to the native side.
}
// Something changed. Fire watching network event
signal.imei = info.imei;
signal.operator = info.operator;
signal.cellID = info.cellID;
signal.lac = info.lac;
signal.neighbors = info.neighbors;
}
}
};
/**
* Error callback for signal initiated
*/
Signal.prototype.error = function(e) {
console.log("Error initializing advanced network plugin: " + e);
};
var signal = new Signal();
module.exports = signal;
我该怎么做?
【问题讨论】:
-
这里没有足够的信息来回答这个问题
-
CellID 在哪里,您发布的文件是什么?您发布的脚本看起来像 Signal 文件。你能澄清一下吗?
-
这真的取决于你的源代码是如何组织的。您可以只需要 signal.js 并直接从分配的变量中获取
cellID,因为 signal.js 导出包含 cellID 的 Signal 实例。也就是说,如果您的应用程序与您的 signal.js 文件位于同一环境中,即服务器端 nodejs -
@Vishwanath 我仍然对它应该在什么环境中运行感到有点困惑。这是一个网站吗?或者这是一个 NodeJS 应用程序?浏览器没有
require方法。
标签: javascript android cordova phonegap-plugins