1

ボタンで通知を表示しようとしている Firefox WebExtension に取り組んでいます。私はこれをChromeで動作させています。docsによると、これは Firefox でサポートされています。ボタンはNotificationOptionsで Optional としてリストされています。

chrome.notifications.create(notificaitonId, {
        type: "basic",
        iconUrl: chrome.extension.getURL("images/unknown.svg"),
       title: "Blah",
       message: "A Message",
       buttons: [{title: "Get More Details"}]
});

このコードを実行すると、通知が表示されます。でも、ボタンが見当たりません。何か不足していますか?実際にはサポートされていませんか?通知の唯一の例はボタンを使用していないため、役に立ちませんでした。

4

1 に答える 1

4

残念ながら、2016 年 3 月 18 日現在、ボタンは WebExtension 通知用に実装されていません。

MDNのNotificationOptions ドキュメントには、[強調/書式設定]が記載されています。

最初の 4 つのプロパティ - typeiconUrltitlemessage- は notifications.create() では必須で、notifications.update ()ではオプションです 。Firefox は現在、これら 4 つのプロパティのみをサポートしています

およびブラウザの互換性セクションで:

Firefox は、、、、、のみをサポートしtypeiconUrltitleますmessage

この重要な部分 (「Firefox は現在、これらの 4 つのプロパティのみをサポートしています」および Firefox は、、、、、のみをサポートしています) は、type2016-03-07のドキュメントに追加されました。したがって、その日付より前にドキュメントを見た場合、まだ実装されていないという兆候はありませんでした。iconUrltitlemessagebuttons

さらに、ソース コードには次のコメントがあります。

// FIXME: 多くのオプションがまだサポートされていません。特に
ボタン。

また、ブラウザーで現在使用されているソース コードは、次の場所にあります。chrome://extensions/content/ext-notifications.js

解決策: 自分で実装buttonsします:

WebExtensions の場合: WebExtensions内から自分でボタンを実装できる場合があり
ますただし、それが可能かどうかを判断できるほど、私は WebExtensions に精通していません。もしそうなら、他のタイプの Firefox アドオンの通知と通知ボタンを実装するソース コードを調べてみるとよいでしょう。

Firefox の場合、一般的に:
もしそれが私が必要とするものであれば、おそらくbuttonsFirefox 全体のために やその他の必要なオプションを実装することを選択し、レビューと Firefox への組み込みのためにコードを Mozilla に提出します。これは大したことであり、後部の痛みのように聞こえるかもしれませんが、実際にはそれほど難しいことではありません.

実際に作業したい場合は、特別な設定は必要ありません。WebExtensions の通知を実装する JavaScript コードは、 omni.jaファイル (拡張子が に変更されたファイル) 内のchrome\toolkit\content\extensionsディレクトリに含まれるext-notifications.jsファイルです。 Firefox インストール ディレクトリ。実際には、インストール ディレクトリ階層内に 3 つの異なるomni.jaファイルがあることに注意してください。必要なものは、ブラウザまたはwebapprtサブディレクトリにあるものではなく、インストール階層のルートにあります。.zip.ja

作業は、そのファイルを抽出して変更し、更新されたomni.jaファイルを作成して、更新されたomni.jaファイルをリリース ディレクトリに配置するだけです。しばらくの間、Firefox のリリースごとにこれを定期的に行っていました。これは、より長いブックマーク MRU ファイル リストが必要だったからです。私は最終的に故障し、オーバーレイ拡張機能を作成しました。ブックマークの最近のフォルダーリストの長さを変更します、変更を加えていたファイルを置き換えます。必要に応じて、ボタンをサポートするために必要な変更を実装するために同じことを行うことができます。もちろん、コードが Firefox に統合されるまで、現在の拡張機能はインストールされている別の拡張機能に依存することになります。しかし、それは、あなたの開発に必要な機能を今すぐ手に入れることと、Mozilla の他の誰かがそれを実装するのを待つよりも少なくともいくぶん早く機能が Firefox に取り込まれることの両方をもたらすでしょう。そのようなオーバーレイ拡張機能は、install.rdfファイル、2 行のchrome.manifestファイル、および現在のものをオーバーライド/置換する更新されたext-notifications.jsファイルを取得するだけです。

于 2016-03-18T13:19:10.510 に答える