Cocoa WebKit-CSSロールオーバー/ホバーの検出
質問
CSSファイルにリンクするHTMLページを表示するWebViewがあります。
CSSファイルは、ロールオーバー効果に擬似クラス:activeおよび:hoverを使用します。
Q。 WebViewで:activeおよび:hoverがいつ呼び出されたかを確認するにはどうすればよいですか?これらの呼び出しをインターセプトし、Cocoa内でプログラムを使用して処理したいと思います。
ありがとう。
解決
:activeおよび:hoverは呼び出しではありません。 CSSセレクタで使用するためのCSS擬似クラスです。 CSSでそれらを使用して、スタイルを設定する要素を選択します。動詞ではなく形容詞です。
代わりにJavaScriptイベントハンドラーを要素に追加してみてください。 WebScriptObjectを使用して、Cocoaメソッドの一部をJavaScript空間に投影して、イベントハンドラーから使用できます。
他のヒント
2.2 SDKドキュメントを探していますが、 UIWebViewDelegate
プロトコルには何も表示されません。これを達成するための最善の希望は、 stringByEvaluatingJavaScriptFromString
と呼ばれる UIWebView
のインスタンスメソッドです。残念ながら、このようなイベントに対してJavaScriptがコールバックできるObjective-Cメソッドを定義する方法がないように思われるため、これはおそらく何らかのポーリングを意味します。私は間違っているかもしれませんが、それができるとは思いません(2.2)。
所属していません StackOverflow