0

我正在使用 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

4

2 回答 2

0

我可以让它增加执行以下操作:

  1. 创建一个简单的 Webview 和它的属性
  2. 为 i 创建一个 int 类型的属性
  3. 创建一个被点击并执行以下方法的按钮

在您的情况下,增量发生在 javascript 代码中,但该状态不为类所知。您需要能够通过传递一些参数来创建动态 Javascript。

-(IBAction)runJS{ 
    NSString *javaScript = [NSString stringWithFormat:@"alert(%d)",self.i];

    NSString *string = [wv stringByEvaluatingJavaScriptFromString:javaScript];


    self.i=self.i+1;
}
于 2013-01-07T19:12:54.553 回答
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);
}

您实际上可以定义一个函数并调用它或其他任何方法。函数的返回值被捕获在返回字符串中。我添加了另一个答案,因为它不允许我在注释字段中正确格式化代码

于 2013-01-08T18:01:41.883 回答