Chrome拡張機能がOperaで実行されているかどうかを、実行時にどのように確認できますか?

ギヨーメクルン

OperaはChrome拡張機能APIをサポートしているため、このブラウザでフル機能のChrome拡張機能を実行することはほぼ可能です。ただし、APIにはまだいくつかの不足している機能があります。

拡張機能が現在OperaまたはGoogleChromeで実行されているかどうかを確認する簡単で効率的な方法はありますか?


私が直面している特定のユースケースは、呼び出すときですchrome.notifications.create。GoogleChromeでは、buttons属性を設定してボタンを追加することができます。Operaはそれをサポートしておらず、属性を無視する代わりに、エラーをスローします。

Unchecked runtime.lastError while running notifications.create: Adding buttons to notifications is not supported.

そのため、エラーを処理するのではなく、事前にブラウザを確認する方法が必要です。

ロブW

タイトルで間違った質問をしている。通知ボタンがChromeで機能するが、Operaでは機能しない場合は、Operaを検出しようとしないでください。ただし、ボタンが機能していないことを検出し、フォールバックを提供します。例えば:

var options = {
    type: 'basic',
    iconUrl: '/icon.png',
    title: 'My notification',
    message: 'My message',
    buttons: [{
        title: 'Button text',
    }],
};
chrome.notifications.create(options, function onCreatedCallback() {
    var lastError = chrome.runtime.lastError;
    if (lastError && lastError.message === 'Adding buttons to notifications is not supported.') {
        delete options.buttons;
        chrome.notifications.create(options, onCreatedCallback);
    } else if (lastError) {
        console.warn('Failed to create notification: ' + lastError.message);
    } else {
        console.log('Created notification');
    }
});

Opera拡張環境を検出してOpera固有の拡張API使用したい場合typeof opr == 'object'は、(Opera専用拡張APIの名前空間)を使用できます

それ以外の場合は、UAスニッフィングを使用してOperaとChromeを区別できます/OPR/.test(navigator.userAgent)

Chrome / Operaの特定のバージョンを検出したいだけの場合(たとえば、ブラウザのバグを検出できないため)、ユーザーエージェントスニッフィングを使用します(私の拡張機能からChromeブラウザのバージョンを見つける方法は?)。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

実行時に競合検出機能が有効になっているかどうかを確認するにはどうすればよいですか?

分類Dev

Linuxで実行されている `getty`の信頼性をどのように確認できますか?

分類Dev

Linuxで実行されている `getty`の信頼性をどのように確認できますか?

分類Dev

Windowsが特定の時間に実行されていたかどうかを確認するにはどうすればよいですか?

分類Dev

VSCodeでは、Code Runner拡張機能を介して実行されているコードをどのように停止しますか?

分類Dev

特定のiptables拡張機能が利用可能で有効になっているかどうかを確認するにはどうすればよいですか?

分類Dev

ロードされたd3.js拡張機能とそのバージョンを実行時に確認するにはどうすればよいですか?

分類Dev

関数がすでに実行されているかどうかを確認していますか?

分類Dev

スクリプトは、rootとして実行されているかどうかをどのように確認できますか?

分類Dev

スクリプトは、rootとして実行されているかどうかをどのように確認できますか?

分類Dev

Chromeが実行されていない場合でもChromeハングアウト拡張機能を実行するにはどうすればよいですか?

分類Dev

Chrome拡張機能の非同期JavaScript関数が失敗したかどうかを確認するにはどうすればよいですか?

分類Dev

GCのログを見て、どのようにガベージコレクターが実行されているかを確認できますか?

分類Dev

Vsix拡張機能でdllbindingRedirectを実行するにはどうすればよいですか?

分類Dev

node.jsで、実行時にポート80で実行できるかどうかを確認するにはどうすればよいですか?

分類Dev

特定のJavaプログラムがWindowsCMDで実行されているかどうかを確認するにはどうすればよいですか?

分類Dev

JQueryが別のウィンドウで実行されているかどうかを確認するにはどうすればよいですか?

分類Dev

1時間ごとのcronジョブが実行されたかどうかを確認するにはどうすればよいですか?

分類Dev

1つのウィンドウでのみChrome拡張機能を実行するにはどうすればよいですか?

分類Dev

ios8カスタムキーボード拡張機能がiphone6に最適化されていないアプリで実行されているかどうかを検出するにはどうすればよいですか?

分類Dev

Javaロギングsockethandlerがまだ実行されているかどうかを確認するにはどうすればよいですか?

分類Dev

タイマーがまだ実行されているかどうかを確認するにはどうすればよいですか?

分類Dev

Laravelコマンドがまだ実行されているかどうかを確認するにはどうすればよいですか?

分類Dev

シフトが押されているときにマウスホイールを使用すると、どのように機能を実行できますか?

分類Dev

特定のリクエストが実行されているかどうかを確認するにはどうすればよいですか?

分類Dev

実行時にSafariアプリ拡張機能のツールバーアイコンを変更するにはどうすればよいですか?

分類Dev

ssh-agentがすでにbashで実行されているかどうかを確認するにはどうすればよいですか?

分類Dev

Androidでサービスがすでに実行されているかどうかを確認するにはどうすればよいですか?

分類Dev

サービスがすでに実行されているかどうかを確認します

Related 関連記事

  1. 1

    実行時に競合検出機能が有効になっているかどうかを確認するにはどうすればよいですか?

  2. 2

    Linuxで実行されている `getty`の信頼性をどのように確認できますか?

  3. 3

    Linuxで実行されている `getty`の信頼性をどのように確認できますか?

  4. 4

    Windowsが特定の時間に実行されていたかどうかを確認するにはどうすればよいですか?

  5. 5

    VSCodeでは、Code Runner拡張機能を介して実行されているコードをどのように停止しますか?

  6. 6

    特定のiptables拡張機能が利用可能で有効になっているかどうかを確認するにはどうすればよいですか?

  7. 7

    ロードされたd3.js拡張機能とそのバージョンを実行時に確認するにはどうすればよいですか?

  8. 8

    関数がすでに実行されているかどうかを確認していますか?

  9. 9

    スクリプトは、rootとして実行されているかどうかをどのように確認できますか?

  10. 10

    スクリプトは、rootとして実行されているかどうかをどのように確認できますか?

  11. 11

    Chromeが実行されていない場合でもChromeハングアウト拡張機能を実行するにはどうすればよいですか?

  12. 12

    Chrome拡張機能の非同期JavaScript関数が失敗したかどうかを確認するにはどうすればよいですか?

  13. 13

    GCのログを見て、どのようにガベージコレクターが実行されているかを確認できますか?

  14. 14

    Vsix拡張機能でdllbindingRedirectを実行するにはどうすればよいですか?

  15. 15

    node.jsで、実行時にポート80で実行できるかどうかを確認するにはどうすればよいですか?

  16. 16

    特定のJavaプログラムがWindowsCMDで実行されているかどうかを確認するにはどうすればよいですか?

  17. 17

    JQueryが別のウィンドウで実行されているかどうかを確認するにはどうすればよいですか?

  18. 18

    1時間ごとのcronジョブが実行されたかどうかを確認するにはどうすればよいですか?

  19. 19

    1つのウィンドウでのみChrome拡張機能を実行するにはどうすればよいですか?

  20. 20

    ios8カスタムキーボード拡張機能がiphone6に最適化されていないアプリで実行されているかどうかを検出するにはどうすればよいですか?

  21. 21

    Javaロギングsockethandlerがまだ実行されているかどうかを確認するにはどうすればよいですか?

  22. 22

    タイマーがまだ実行されているかどうかを確認するにはどうすればよいですか?

  23. 23

    Laravelコマンドがまだ実行されているかどうかを確認するにはどうすればよいですか?

  24. 24

    シフトが押されているときにマウスホイールを使用すると、どのように機能を実行できますか?

  25. 25

    特定のリクエストが実行されているかどうかを確認するにはどうすればよいですか?

  26. 26

    実行時にSafariアプリ拡張機能のツールバーアイコンを変更するにはどうすればよいですか?

  27. 27

    ssh-agentがすでにbashで実行されているかどうかを確認するにはどうすればよいですか?

  28. 28

    Androidでサービスがすでに実行されているかどうかを確認するにはどうすればよいですか?

  29. 29

    サービスがすでに実行されているかどうかを確認します

ホットタグ

アーカイブ