我有一个显示 HTML 页面的 WebView,链接到一个 CSS 文件。
CSS 文件使用伪类 :active 和 :hover 来实现翻转效果。
问:如何在我的 WebView 中判断 :active 和 :hover 何时被调用?我想拦截这些调用并在 Cocoa 中以编程方式处理它们。
谢谢。
:active 和 :hover 不是调用;它们是 CSS 伪类,用于 CSS 选择器。您在 CSS 中使用它们来选择要设置样式的元素。它们是形容词,不是动词。
尝试将 JavaScript 事件处理程序添加到元素。您可以使用 WebScriptObject 将您的一些 Cocoa 方法投影到 JavaScript 空间中,以供事件处理程序使用。
我正在查看 2.2 SDK 文档,但在UIWebViewDelegate
协议中看不到任何内容。实现这一目标的最大希望可能是UIWebView
被调用的实例方法stringByEvaluatingJavaScriptFromString
。不幸的是,这可能意味着某种轮询,因为似乎没有办法定义 JavaScript 可以为此类事件回调的 Objective-C 方法。我可能是错的,但我不认为它可以做到(在 2.2 中)。