通过UIWebView的搜索结果中的JavaScript跳转(Jump through search

2019-09-16 13:01发布

我已经建立了与JavaScript代码的伟大工程的UIWebView搜索,但我希望能够跳转到下一个词发现在搜索结果中。 我已经成功地歌厅视图通过使用此代码滚动到第一个实例:

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

我怎样才能得到这个searchresultcount更新到下一发现结果(比如2,3,4,5,等...),当用户在应用程序按下按钮? 提前致谢。

Answer 1:

我能有这个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>

然后发送此JavaScript调用我的IBAction为这样的:

- (IBAction)next:(id)sender {
    [animalDesciption stringByEvaluatingJavaScriptFromString:@"goToNext()"];
}


Answer 2:

你的意思是在你的应用程序的本机按钮,如一个UIButton? 在这种情况下,你可以使用stringByEvaluatingJavaScriptFromString:在你的UIWebView来执行一些JavaScript。 你可以做这样的事情的处理程序为您的按钮:

- (void)buttonPressedAction:(id)sender {
    NSString * js = @"uiWebview_SearchResultCount++;";
    [yourUIWebView stringByEvaluatingJavaScriptFromString: js];
}


Answer 3:

调用与适当的行这个功能呢?

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

这是否为您工作?



文章来源: Jump through search results in UIWebView with Javascript