我已经阅读了Apple的 beforeload
documentation,但是从网络的 Angular 来看,我仍然不确定beforeload
如何消除负载。苹果的文档说:
稀疏文档中没有任何内容向我暗示beforeload
块必须阻止对资源的HTTP提取。 “加载” Web资源需要执行什么操作(例如,在某些W3C规范中是否有load
的正式定义)?在Webkit的当前实现中,用beforeload
取消加载会阻止浏览器发送HTTP请求,还是只是停止渲染资源并触发load
事件?
我主要是在这些问题中评估beforeload
对阻止跟踪图像的有用性。我知道还有其他方法可以做到这一点(例如Chrome的webRequest
API),但是我想知道beforeonload
是否也合适。
最佳答案
严格来说,beforeload
并不能阻止任何事情。它只是为preventDefault()
提供了机会。
您的堆栈使用dispatchMessage()
吗?这是异步的,可以在阻止之前开始获取资源。
你读了...吗
http://developer.apple.com/library/safari/documentation/Tools/Conceptual/SafariExtensionGuide/SafariExtensionGuide.pdf#page=88?它提供了一种同步方法(第91-92页)
ps
我将其添加为注释而不是答案,但是我还不能添加注释