从objective-c调用javascript函数的语法
Syntax to call javascript function from objective-c
我正在用phonegap/cordova 2.1.0框架制作IOS应用程序。我想调用一个javascript函数驻留在index.html从objective-c。所以,首先我正在加载index.html,然后尝试调用javascript函数。我的代码如下:
NSString *path = [[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:@"www"];
NSURL *baseURL = [NSURL fileURLWithPath:path];
NSString *myFile = [path stringByAppendingPathComponent:@"index.html"];
//NSLog(@"base url= %@",myFile);
NSData *myFileData = [[NSData alloc] initWithContentsOfFile:myFile];
NSString* myFileHtml = [[NSString alloc] initWithData:myFileData encoding:NSASCIIStringEncoding];
[theWebView loadHTMLString:myFileHtml baseURL:baseURL];
// to call javascript function
[theWebView stringByEvaluatingJavaScriptFromString:@"onDeviceReady()"];
最后第二行加载index.html,最后一行调用其中的函数。但是,不知何故,上面的代码不工作。我是不是在语法方面有问题。
另外,由于index.html之前已经被加载,所以我如何指定文件名(即。Index.html),其中的功能存在没有再次加载它?谢谢。
Javascript函数如下:
function onDeviceReady(callback) {
var item = window.localStorage.getItem("key");
var message = "deviceready localStorage.getItem('key')="+item+" localStorage.length="+window.localStorage.length;
if( item == null){
item = "";
}
item = item + "value";
window.localStorage.setItem("key", item);
var value = window.localStorage.getItem("key");
if ( deviceType == 'android' && gAppControl.loadScript == false ){
loadScript('iscroll.js');
gAppControl.loadScript = true;
document.addEventListener("backButton", backPressed, false);
}
var db = window.openDatabase(dbName, "1.0", gAppConfig.dbMessage, 200000);
db.transaction(queryDB, errorCB , callback);
// return
return;
}
onDeviceReady()
这是phonegap API,如果设备没有准备好,你将无法调用任何phonegap插件,那么onDeviceReady()函数中的细节是什么?涉及到phonegap插件吗?
代码似乎没有问题,这是我的代码,有一个桥与Objective-C和HTML-Javascript通信,
相关文章:
- javascript自执行函数-不同的语法
- 函数的Javascript语法
- 使用JS函数来使用另一个函数的语法?node.js
- 在递归生成器函数中,yield后面的*(星号/星号)语法意味着什么
- 如何定义const函数javascript(语法糖)
- 为什么匿名函数本身就是javascript中的语法错误
- javascript匿名函数语法
- 在javascript函数的循环中设置全局布尔变量的最佳语法
- 在一个函数中,我有一个未捕获的语法错误:意外的标记else
- JS中奇怪的函数定义语法
- 有没有一种优雅的方式来告诉esint,以确保我们're没有使用任何ES6语法/函数
- 在ES6中将数组析构函数参数的语法
- jQuery中的匿名函数语法
- Javascript函数变量传递语法问题
- javascript 函数返回的语法(空格)是否会影响结果
- uiWebview 调用 javascript 函数语法
- Javascript语法函数问题
- javascript语法:函数
- 怪异的JS语法:函数声明中的数学运算符
- JavaScript中是否存在这种PHP语法?函数(var=null)