1

uiwebviewでjavascriptを使用して検索を設定しましたが、検索結果で次に見つかった単語にジャンプできるようにしたいと思います。次のコードを使用して、ビューを最初のインスタンスにスクロールすることに成功しました。

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

適切な行でこの関数を呼び出しますか?

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

これはあなたのために働きますか?

于 2012-04-14T07:58:07.303 に答える
0

私はウェブビューのこの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 に答える