OS X Lion 及更高版本允许用户打开/关闭 iOS 风格的浮动滚动条 - 通过系统偏好设置手动或插入鼠标。
基于 WebKit 的浏览器(也许还有 Opera?)会立即切换它们的滚动条样式 -发生这种情况时是否会触发事件?(WebKit-only 就可以了)
一些注意事项:
OS X
NSPreferredScrollerStyleDidChangeNotification
在用户切换滚动条样式时触发WebKit 似乎没有订阅此事件(grep 时没有命中)。
我怀疑 WebKit 正在通过
NSViewBoundsDidChangeNotification
事件处理这个问题(我假设它会为滚动视图的内容视图触发)。WebKit在 内
-[WebHTMLView _frameOrBoundsChanged]
处理此事件,这似乎是一个潜在的重新布局点。WebPDFView
在和检查员的通知中也有提到这个通知WebNodeHighlight
——两者似乎都与本案无关。-[WebDynamicScrollBarsView adjustForScrollOriginChange]
似乎表明事件可能不会被触发(如果是这样,很高兴看到一些确认)
轮询更改对我来说不是一个可接受的答案(用户更改值后性能和布局跳跃)。