我正在使用UIwebview来运行一些javascript,我希望在点击iOS原生按钮的函数调用之间保留一个变量值。
我正在使用的代码剪断。
var MyApp_SearchResultCount = 0;
var currSelected = 0;
var prevSelected = 0;
function jump(howHigh){
//this.prevVal = this.currentVal;
//this.currentVal = this.currentVal + 1;
//************** STARTS ****************//
//alert(window.currSelected);
//************** ENDS *****************//
prevSelected = currSelected;
currSelected = currSelected + howHigh;
alert("currSelected" + currSelected);
}
currSelected始终保持为1,与调用跳转方法的次数无关。
请帮忙 谢谢 djrecker
答案 0 :(得分:0)
我可以让它增加以下内容:
在您的情况下,增量发生在javascript代码中,但该类不知道该状态。您需要通过传递一些参数来创建动态Javascript。
-(IBAction)runJS{
NSString *javaScript = [NSString stringWithFormat:@"alert(%d)",self.i];
NSString *string = [wv stringByEvaluatingJavaScriptFromString:javaScript];
self.i=self.i+1;
}
答案 1 :(得分:0)
-(IBAction)runJS{
NSString *javaScript = [NSString stringWithFormat:@"function abcd(){var x=%i; return x;} abcd();",self.i];
NSString *string = [wv stringByEvaluatingJavaScriptFromString:javaScript];
self.i=self.i+1;
NSLog(@"The returned value is %@",string);
}
你可以事实上定义一个函数并调用它或者它。函数的返回值在返回字符串中捕获。我添加了另一个答案,因为它不允许我在评论字段中正确格式化代码