【问题标题】:Is it up to the browser plugin to decide if an event should "bubble" further up the DOM?是否应该由浏览器插件决定一个事件是否应该在 DOM 中进一步“冒泡”?
【发布时间】:2012-11-25 15:18:02
【问题描述】:

我已经尝试过 VLC 浏览器插件,我对它非常满意。但是当我在 VLC 框架内单击时,在 VLC 最终处理它之后,单击事件不会委托给浏览器,即没有冒泡。这是一般浏览器/浏览器插件的默认行为吗,即浏览器只是查看<embed><object> 并确定它不在其职责范围内,如果浏览器插件愿意,可以冒泡这个事件吗?

我知道这可能会因浏览器和插件类型(NPAPI/ActiveX)的不同而有所不同,这让问题变得更加有趣,恕我直言。

【问题讨论】:

    标签: dom events browser dom-events browser-plugin


    【解决方案1】:

    理论上,NPAPI 插件可以根据 NPP_HandleEvent 的返回来决定是否应将鼠标事件视为已处理,从而停止或冒泡。在实践中,一些最流行的插件总是返回 0,这意味着浏览器通常只是忽略返回值(以避免奇怪的行为,例如双击插件选择网页上的所有文本)。这对于 Chrome 来说当然是正确的,IIRC 对于 Safari 和 Firefox 也是如此。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-04-05
      • 1970-01-01
      • 2011-02-13
      • 1970-01-01
      相关资源
      最近更新 更多