3

このイベントの不要なコンテンツのブロックセクションbeforeload以外のドキュメントが見つかりません。

私が特に探しているのは、イベントメッセージの構造です。上記のドキュメントから、メンバーがいることはわかりevent.urlますが、他にはあまりありません。ソースコードの一部から、event.target.nodeNameメンバーもいることがわかります。しかし、それ以上のものはありません。

WebKitドキュメントとw3イベントドキュメントの両方で迷子になりました。beforeloadイベントの簡単なリファレンスドキュメントはどこにありますか?

4

3 に答える 3

4

DOM beforeloadイベントはWebKitの概念であり、Safari拡張機能に固有のものではありません。URLプロパティがあります。

beforeloadイベントの詳細については、次を参照してください。

http://opensource.apple.com/source/WebCore/WebCore-1298/dom/BeforeLoadEvent.idl

これを拡張コンテンツスクリプトで使用している場合、詳細情報を取得する1つの方法は、次のようなコードを使用することです。

document.addEventListener("beforeload", beforeLoadHandler, false);

function beforeLoadHandler(event)
{
    console.log(event);
}

次に、Web Inspectorを使用して、イベントに関する情報を表示します(URLを確認したり、イベントターゲットを確認したりできます)。

于 2010-12-13T07:22:41.300 に答える
3

イベントメッセージ(SafariExtensionMessageEventインスタンス)には、namemessageクラスドキュメント)のみがあります。実際には同じページで説明されています。

興味深いことに、イベントクラス(SafariEvent)のドキュメントにはプロパティやメソッドが記載されていないurlため、別のクラスのオブジェクトが渡されているか、他の何かが行われています。

あなたと同じように、私はAppleのドキュメントがせいぜい欲しがっていることを発見した。私が書きたかった小さな拡張機能を書くために、私はドキュメント内のさまざまな場所からの情報をまとめる必要がありました。比較的簡単なタスクを完了するためにあまりにも一生懸命働かなければならなかったのはあなただけかどうか疑問に思っているなら...あなたはそうではありません。:-)

于 2010-12-09T13:09:25.193 に答える
1

この例では、ページコンテンツから使用する場合、キャプチャ引数を「false」ではなく「true」に設定する必要があります。それが拡張機能での使用にどのように影響するかはわかりませんが、人々はこれをページコンテンツから直接使用し、ページを書き換えるために使用しています。その場合はキャプチャする必要があります。

于 2012-01-05T22:57:48.687 に答える