1

Safari 拡張機能を開発中ですが、ダウンロード ウィンドウが表示される前に通知を受け取りたいです。ダウンロードするイベントがないので、応答ヘッダーを処理する必要があると思いますが、それらにもアクセスできませんでした。これを行う適切な方法は何ですか?

4

1 に答える 1

0

SafariとChrome拡張機能をいじくり回した私の限られた経験から、これらのイベントのいずれか(または両方)を発生させるページをリッスンする必要があると思いbeforeLoadますbeforeNavigate。対処方法は、コンテンツのブロックbeforeLoadに関するセクションで非常によく説明されており、ここで説明されています。beforeNavigate

これらのイベントのいずれかで、問題のURLがダウンロードであるか通常のWebファイルであるかを判断する必要があります。.zip、.mp3などの一般的なダウンロードファイルタイプをすばやくチェックできると思いますが、質問で指摘したように、確実な唯一の方法は、独自の短いHTTPリクエストを実行して応答を分析することです。 。

注意:拡張機能にはユーザーのコンピューター上のファイルに対する権限がほとんどないため、ダウンロードを検出するためのAPIはありません。つまり、ダウンロードは通常、拡張機能の範囲外であり、代わりにプラットフォームネイティブアプリの責任である必要があります。

于 2012-10-17T12:15:16.083 に答える