除了Blocking Unwanted Content section of this.
之外,我找不到关于“beforeload”事件的任何文档我特别想要的是事件消息结构。从上面的文档我知道有一个“event.url”成员,但没有其他。从源代码片段我知道还有一个“event.target.nodeName”成员。但我没有更多的东西。
我迷失在WebKit文档和w3事件文档中。我在哪里可以找到“beforeload”事件的简单参考文档?
答案 0 :(得分:4)
DOM beforeload事件是一个WebKit概念,它不是特定于Safari扩展。它有一个URL属性。
有关beforeload事件的更多信息,您可以看到:
http://opensource.apple.com/source/WebCore/WebCore-1298/dom/BeforeLoadEvent.idl
如果您在扩展内容脚本中使用它,获取更多信息的一种方法是获得一些代码:
document.addEventListener("beforeload", beforeLoadHandler, false);
function beforeLoadHandler(event)
{
console.log(event);
}
然后使用Web Inspector查看有关事件的信息(您可以查看其URL,您可以查看事件目标等)。
答案 1 :(得分:3)
事件消息(SafariExtensionMessageEvent
个实例)只有name
和message
(class documentation)。它实际上是在same page上讨论的。
有趣的是,事件类(SafariEvent)文档没有提及url
属性或方法,因此正在传递不同类的对象或正在进行其他操作。
和你一样,我发现Apple的文档充其量只是缺乏。为了编写我想写的小扩展,我不得不拼凑文档中各个位置的信息。如果你想知道你是否是唯一一个不得不工作太难以完成相对简单的任务的人......你不是。 : - )
答案 2 :(得分:1)
该示例应将capture参数设置为'true',而不是从页面内容使用时设置为'false'。我不确定这会如何影响它在扩展中的使用,但人们直接从页面内容中使用它并使用它来重写页面。在这种情况下你需要捕获。