1

我已经使用 javascript 在 uiwebview 中设置了一个搜索,效果很好,但我希望能够跳转到搜索结果中找到的下一个单词。通过使用以下代码,我已成功使视图滚动到第一个实例:

if (uiWebview_SearchResultCount == 1)
{
   var desiredHeight = span.offsetTop - 140;
   window.scrollTo(0,desiredHeight);
}

当用户按下应用程序中的按钮时,如何让这个 searchresultcount 更新到下一个找到的结果(比如 2、3、4、5 等...)?提前致谢。

4

3 回答 3

1

您是指应用程序中的本机按钮,例如 UIButton 吗?在这种情况下,您可以使用stringByEvaluatingJavaScriptFromString:在 UIWebView 中执行一些 JavaScript。作为按钮的处理程序,您可以执行以下操作:

- (void)buttonPressedAction:(id)sender {
    NSString * js = @"uiWebview_SearchResultCount++;";
    [yourUIWebView stringByEvaluatingJavaScriptFromString: js];
}
于 2012-04-14T05:31:49.393 回答
0

我可以在 webview 中用这个 javascript 做基本相同的事情:

<script type="text/javascript">
var max = 100;

function goToNext() {
    var hash = String(document.location.hash);
    if (hash && hash.indexOf(/hl/)) {
        var newh = Number(hash.replace("#hl",""));
        (newh > max-1) ? newh = 0 : void(null);
        document.location.hash = "#hl" + String(newh-1); 
    } else {
        document.location.hash = "hl1";        
    }
}

</script>

然后用我的 IBAction 发送这个 JavaScript 调用,如下所示:

- (IBAction)next:(id)sender {
    [animalDesciption stringByEvaluatingJavaScriptFromString:@"goToNext()"];
}
于 2012-04-23T23:04:24.003 回答
0

用适当的行调用这个函数?

function scrollToDesiredHeight(row) {
   var desiredHeight = span.offsetTop - 140;
   window.scrollTo(0,row * desiredHeight);
}

这对你有用吗?

于 2012-04-14T07:58:07.303 回答