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