我已经在我的iOS项目中嵌入了一些html和js文件,以查找下一个和上一个搜索到的文本。在浏览器中同样起作用,在iOS中不起作用,我从下面的链接中获得了相同的代码。调试后,我发现我的变量在函数调用之间不保存值。

var currSelected = 0;

function jump(howHigh){


    prevSelected = currSelected;
    currSelected = currSelected + howHigh;
    alert("currSelected" + currSelected); //currSelected is always 1
 }


http://jsfiddle.net/TAxdp/

请参考上面的网址,以了解我在UIWebView中试图完成的工作。

请为UIWebView中的iOS建议使用。

谢谢
德雷克

最佳答案

您可以执行以下操作以使变体成为全局变量:

1)在js文件中

function test(){
    alert(i++);
}


2)在.m文件中

//call before function 'do'
- (void)makeVariantGlobal {
    [self.webView stringByEvaluatingJavaScriptFromString:@"var i=0"];
}

//i++ works!
- (void)do {
    [self.webView stringByEvaluatingJavaScriptFromString:@"test()"];
}

09-11 06:55