我开发了phonegap android应用程序。我试图在javascript和android java类之间建立通信。
对于通信,我在android主要活动中使用了addJavaScriptInterfaceMethod。所以我可以在javascript中使用java对象和方法。
以下是Java代码:
public class Activity extends DroidGap
{
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setIntegerProperty("loadUrlTimeoutValue", 60000);
super.loadUrl("file:///android_asset/www/jq3.html");
MapTablesWrapper table = new MapTablesWrapper();
super.appView.addJavascriptInterface(new MapTablesWrapper(), "tables");
}
}
在javascript中:以下代码不会打印表值。它提醒未定义
var tableName = tables.getTableName();
function(){
alert(tableName);
}
如果我在函数内部声明var表。它打印tableName并且代码是
function(){
var table = tables.getTableName();
alert(tableName);
}
但我想在函数之外声明变量,并希望在函数内部使用变量。
答案 0 :(得分:0)
你可以这样做
var global = {
table : null
};
function()
{
global.table = tables.getTableName();
alert(global.table);
}
您可以将全局重命名为JS文件名,以便可以使用fileName.table
在global.table
访问当前文件中的所有函数以及任何其他JS文件中的此变量{{1}}