Safari 拡張機能を開発中ですが、ダウンロード ウィンドウが表示される前に通知を受け取りたいです。ダウンロードするイベントがないので、応答ヘッダーを処理する必要があると思いますが、それらにもアクセスできませんでした。これを行う適切な方法は何ですか?
質問する
172 次
1 に答える
0
SafariとChrome拡張機能をいじくり回した私の限られた経験から、これらのイベントのいずれか(または両方)を発生させるページをリッスンする必要があると思いbeforeLoad
ますbeforeNavigate
。対処方法は、コンテンツのブロックbeforeLoad
に関するセクションで非常によく説明されており、ここで説明されています。beforeNavigate
これらのイベントのいずれかで、問題のURLがダウンロードであるか通常のWebファイルであるかを判断する必要があります。.zip、.mp3などの一般的なダウンロードファイルタイプをすばやくチェックできると思いますが、質問で指摘したように、確実な唯一の方法は、独自の短いHTTPリクエストを実行して応答を分析することです。 。
注意:拡張機能にはユーザーのコンピューター上のファイルに対する権限がほとんどないため、ダウンロードを検出するためのAPIはありません。つまり、ダウンロードは通常、拡張機能の範囲外であり、代わりにプラットフォームネイティブアプリの責任である必要があります。
于 2012-10-17T12:15:16.083 に答える