可以加载取消HTTP请求吗?

时间:2012-09-24 14:12:40

标签: javascript google-chrome-extension webkit safari-extension

我已经阅读了Apple的beforeload documentation,但从网络角度来看,我仍然不确定beforeload取消加载的方式。 Apple的文档说:

  

Safari 5.0及更高版本(以及其他基于WebKit的浏览器)会生成" beforeload"加载属于网页的每个子资源之前的事件。

这里的稀疏文档中没有任何内容告诉我beforeload必须阻止HTTP获取资源。 " loading"的操作是什么? Web资源需要(例如,某些W3C规范中是否有load的正式定义)?在Webkit的当前实现中,使用beforeload取消加载会阻止浏览器发送HTTP请求,还是仅仅停止渲染资源并触发load事件?

我主要是在这些问题中评估beforeload阻止跟踪图片的有效性。我知道还有其他方法可以执行此操作(例如,Chrome的webRequest API),但我想知道beforeonload是否也适用。

1 个答案:

答案 0 :(得分:1)

beforeload严格来说并不能阻止任何事情;它只是提供了preventDefault()的机会。

您的筹码是否使用dispatchMessage()?这是异步的,允许在您可以阻止之前获取资源。

你读过吗? http://developer.apple.com/library/safari/documentation/Tools/Conceptual/SafariExtensionGuide/SafariExtensionGuide.pdf#page=88?它提供了一种同步方法(第91-92页)

PS
我会添加这个作为评论而不是答案,但我还不能添加评论