Chrome拡張機能のポップアップアクションが機能しない

デボンリミントン

私はGoogleChromeの拡張機能に取り組んでいます。これにより、ユーザーはオンライン製品のサポートチケットを現在のページから直接送信できます。

私はページルールを使用して、拡張機能を製品ページのみに制限してきました。一部のユーザーは、ポップアップが機能しなくなったときに問題が発生しています。

これは、一部のユーザーが当社の製品ページの1つであるときに表示されるものです。また、ユーザーがこれを見ると、拡張機能アイコンはフルカラーになっています。それが有用な情報であるかどうかはわかりません。

ここに画像の説明を入力してください

問題の再現に問題があります。私たちのユーザーのほとんどはリモートメイキングであり、診断が困難です。

問題を再現するために、Chromeを強制終了して再度開くようにしました。また、コンピュータを再起動しても再作成されませんでした。

拡張機能を削除して再インストールすると問題が解決するようです。

これは、拡張機能を有効/無効にするために使用しているコードです。

const PAGE_RULE = [{
    id: 'DISPLAY_RULE_SS',
    conditions: [
      new chrome.declarativeContent.PageStateMatcher({
        pageUrl: {hostSuffix: '.localhost.com', pathPrefix: '/app/'},
      }),
    ],
    actions: [new chrome.declarativeContent.ShowPageAction()],
  },]

chrome.runtime.onInstalled.addListener(function() {

    chrome.tabs.onActivated.addListener((activeInfo) => {

        chrome.declarativeContent.onPageChanged.getRules(['DISPLAY_RULE_SS'], (rules) => {

            if(rules.length !== 0){
                return;
            }

            chrome.declarativeContent.onPageChanged.addRules(PAGE_RULE);    
        });     
    });
});

これが私のマニフェストです。

{
    "name"              : "Support App",
    "version"           : "0.0.3",

    "description"       : "Fill in a brief description of your issue, along with a few details, and our support team will be notified immediately.",
    "manifest_version"  : 2,

    "icons": {
        "128" : "./img/murmuration_square_transparent.png"
    },

    "background" : {
        "scripts"    : ["./backgrounds/default_background.js"],
        "persistent" : false
    },

    "permissions" : [
        "history",
        "tabs",
        "declarativeContent",
        "activeTab",
        "https://*.localhost.com/*",
    ],

    "page_action" : {
        "default_icon"  : "./img/murmuration_square_transparent.png",
        "default_popup" : "../default_interface.html"
    },

    "web_accessible_resources": [
        "src/default_index.js"
    ]
}

この問題は、すべてのロジックが内部にあるという事実に関連していると思われますchrome.runtime.onInstalled.addListener(function() {...}が、よくわかりません。

どんな助けでも大歓迎です。

デボンリミントン

ダウンタイムが発生した後、これに戻り、Googleのドキュメントで解決策を見つけました。上のドキュメントこのページの状態

リスナーは、ページの最初から同期的に登録する必要があります。

これは、ページルールを設定するときに私が行っていたこととまったく同じです。

私もこのページでそれを見つけました

ルールはブラウジングセッション間で永続的です。したがって、runtime.onInstalledイベントを使用して、拡張機能のインストール時にルールをインストールする必要があります。このイベントは、拡張機能が更新されたときにもトリガーされることに注意してください。したがって、最初に以前にインストールしたルールをクリアしてから、新しいルールを登録する必要があります。

そこで、バックグラウンドスクリプトを更新して、次のスクリプトを実行しました

chrome.runtime.onInstalled.addListener(details => {
   chrome.declarativeContent.onPageChanged.removeRules(undefined, () => {
       chrome.declarativeContent.onPageChanged.addRules(PAGE_RULE);
   });
});

これは、ドキュメントで推奨されているものです。これで、私たちが直面していた問題は解決したようです。

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

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

編集
0

コメントを追加

0

関連記事

Chrome拡張機能のポップアップでjQueryが機能しない

Chrome拡張機能のポップアップウィンドウでアラートが機能しない

Chrome拡張機能のブラウザアクションポップアップが表示されないのはなぜですか?

IntallMagento拡張機能のポップアップが機能しない

Chrome拡張機能のポップアップ同じタブがまだ機能しない

Chrome拡張機能のポップアップが表示されない

Chrome拡張機能はページアクションでポップアップを表示します

Chrome拡張機能のポップアップが機能せず、クリックイベントが処理されない

Chrome拡張機能のポップアップがセカンドモニターに表示されない

アプリケーションのバージョンアップデートの場合、Androidで共有拡張機能が機能しない

拡張機能の背景またはポップアップからコンテンツスクリプトへのsendMessageが機能しない

Chrome拡張機能のポップアップクローズイベント

シンプルなChrome拡張機能はポップアップを表示しません

Chrome拡張機能のオプションページでクリックイベントが機能しない

Chromeでのみセッションが機能しないBigcommercePHPアプリ

Chrome拡張機能ポップアップでのFirebase認証

VS拡張機能がサインインダイアログをポップアップしない

openURLがアクション拡張で機能しない

[]ボタンChrome拡張機能のループチェックが機能しない

gnu拡張機能のクリーンアップがパラメーターなしで機能する理由

CSSを挿入/削除するポップアップを備えたChrome拡張機能のブラウザアクション

Chrome拡張機能コンテンツスクリプトメッセージング反応アプリケーションがサイプレス環境で機能しない

Chrome拡張機能:htmlポップアップのボタンをクリックして、指定したリンクを新しいタブで開く方法は?

Chrome拡張機能のポップアップがchrome.storage.syncでデータセットを永続化しない

Chrome拡張機能でアレイが表示されないドロップダウンボックス

Chrome拡張機能でポップアップウィンドウが拡大しないようにする方法

Chrome拡張機能でポップアップウィンドウを開いてアクセスする

@angular/cli を使用して Chrome 拡張機能のポップアップ、オプション、背景を構築する

Androidオプションメニューのポップアップウィンドウが機能しない

TOP 一覧

  1. 1

    STSでループプロセス「クラスパス通知の送信」のループを停止する方法

  2. 2

    Spring Boot Filter is not getting invoked if remove @component in fitler class

  3. 3

    Python / SciPyのピーク検出アルゴリズム

  4. 4

    セレンのモデルダイアログからテキストを抽出するにはどうすればよいですか?

  5. 5

    tkinterウィンドウを閉じてもPythonプログラムが終了しない

  6. 6

    androidsoongビルドシステムによるネイティブコードカバレッジ

  7. 7

    ZScalerと証明書の問題により、Dockerを使用できません

  8. 8

    VisualStudioコードの特異点/ドッカー画像でPythonインタープリターを使用するにはどうすればよいですか?

  9. 9

    ビュー用にサイズ変更した後の画像の高さと幅を取得する方法

  10. 10

    二次導関数を数値計算するときの大きな誤差

  11. 11

    Ansibleで複数行のシェルスクリプトを実行する方法

  12. 12

    画像変更コードを実行してもボタンの画像が変更されない

  13. 13

    Reactでclsxを使用する方法

  14. 14

    Three.js indexed BufferGeometry vs. InstancedBufferGeometry

  15. 15

    __init__。pyファイルの整理中に循環インポートエラーが発生しました

  16. 16

    PyTesseractを使用した背景色のため、スクリーンショットからテキストを読み取ることができません

  17. 17

    値間の一致を見つける最も簡単な方法は何ですか

  18. 18

    reCAPTCHA-エラーコード:ユーザーの応答を検証するときの「missing-input-response」、「missing-input-secret」(POSTの詳細がない)

  19. 19

    三項演算子良い練習の代わりとしてOptional.ofNullableを使用していますか?

  20. 20

    好き/愛の関係のためのデータベース設計

  21. 21

    エンティティIDを含む@RequestBody属性をSpringの対応するエンティティに変換します

ホットタグ

アーカイブ