Nev*_*vir 14 javascript macos webkit javascript-events osx-lion
OS X Lion及以上版本允许用户打开/关闭iOS风格的浮动滚动条 - 可以通过"系统偏好设置"手动打开,也可以通过插入鼠标来打开/关闭.
基于WebKit的浏览器(也许是Opera?)会立即切换它们的滚动条样式 - 当发生这种情况时是否会触发事件?(WebKit-only很好)
NSPreferredScrollerStyleDidChangeNotification
当用户切换滚动条样式时,OS X将触发
WebKit似乎没有订阅此事件(在grepping时没有命中).
我怀疑WebKit是通过NSViewBoundsDidChangeNotification
事件来处理这个事件(我假设,它会触发滚动视图的内容视图).
WebKit的处理这个事件中-[WebHTMLView _frameOrBoundsChanged]
,这似乎是一个潜在的重新布点点.
在这个案例中也提到了这个通知WebPDFView
和检查员WebNodeHighlight
- 这两者似乎都没有关系.
-[WebDynamicScrollBarsView adjustForScrollOriginChange]
似乎表明事件可能不会被解雇(如果是这样,看到一些确认会很高兴)
轮询更改对我来说不是一个可接受的答案(性能和用户更改值后的布局跳转).
从迄今为止我读到的所有内容来看,在此样式转换期间没有触发任何 DOM 事件。
最结论性的示例是创建一个overflow: auto
div,然后通过 记录其所有事件(在 Safari 或 Chrome 中)monitorEvents
。更改滚动条样式时不会记录任何内容。
我在这个问题上有一个开放的 webkit 错误(尽管它可能很小,我们不会看到任何变化)。
归档时间: |
|
查看次数: |
496 次 |
最近记录: |