2011-01-05 9 views
8
サファリで

、およびOSX上NSTextViewで、検索結果は少しアニメーションポップを持って、明るい黄色のボックスで強調表示することができます。それを自分でコーディングせずにwebviewでこれを行う方法はありますか?私はSafariとNSTextView showFindIndicatorForRangeなどのWebViewの中で、検索結果を強調表示する方法:

+1

こんにちはマイク。あなたはこれで成功しましたか? – Donovan

答えて

0

私はこれを行う方法を見つけました。

showFindIndicatorForRange:を参照してください。

+1

showFindIndicatorForRange:はNSTextViewのメソッドです。私はWebViewでこの機能が必要です。 WebViewのメソッドを使用してテキストを強調表示していますが、アニメーションがありません。おそらくJavaScriptのソリューションがありますが、私はそれを調べていません。 –

+0

ああ、私の悪い。申し訳ありませんが、私はあなたの質問を誤解しました。 – Donovan

2

回答は、long-planned webkit featureですが、手動でWebviewで検索結果をハイライト表示する必要があるようです(参考:"Implementing a Find menu item like Safari?" thread from 2011)。

これを調べている間に私が見つけたリンクを一覧にします。

  • ありHighlightedWebViewですが、執筆時点では、検索語を強調するために<span>秒を挿入するように表示されます。
  • 私はCore Animationので、この効果を模倣する方法についての答えを見つけることができませんでした:ココア-devの上
  • :SO関係している上、ここで
    • How do I get NSTextFinder to show upが、それはしていませんこれは正確な問題のようです。 REF:[1]から
    • NSTextFinder referenceは(セクション「バーを探すためのテキストビューのサポート」)それはWebViewのにはないNSTextFinderClientを(サポートしている場合、それはどんなのNSView/NSScrollViewための「黄色い検索指標の背景ベゼル」を描くことができます示唆します、[2])。 cocoa-dev
    • "WebView find panel/bar implementation"は、この上の(2013から04)最新のスレッドで、それは可能な解決策の概要が含まれています。
0

NSTextFinderのサポートを組み込んで、このオープンソースのWebViewのサブクラス(MITライセンス)を見てみましょう:そのミニブラウザのテストアプリケーションのための

https://github.com/shc-vj/SHCWebView

だけでなく、WebKitのソース自体:

https://github.com/WebKit/webkit/blob/master/Tools/MiniBrowser/mac/WK2BrowserWindowController.m

ミニブラウザのウィンドウコントロール私は、NSTextFinderBarContainerを実装しているので、検索バーが動作するために余分な余分なスクロールビューの中にWebViewを配置する必要はありません。

関連する問題