繁体   English   中英

点击 Chrome 页面操作未打开弹出窗口

[英]Chrome page action not open popup on click

我只有在访问某个网站时才使用此代码激活扩展程序。 我注意到扩展程序图标将始终可点击,并且如果 url 不符合设置的条件,并且当访问所需的网站并且 url 匹配时,扩展程序图标将不会变灰,如果用户单击扩展程序图标,则不会打开弹出窗口。 我该如何解决?


chrome.runtime.onInstalled.addListener(function() {
  chrome.declarativeContent.onPageChanged.removeRules(undefined, function() {
    chrome.declarativeContent.onPageChanged.addRules([
      {
        conditions: [
          new chrome.declarativeContent.PageStateMatcher({
            pageUrl: { hostEquals: 'www.example.com/video/*', schemes: ["https"] },
          })
        ],
        actions: [ new chrome.declarativeContent.ShowPageAction() ]
      }
    ]);
  });
});

chrome.pageAction.onClicked.addListener( () => {
  chrome.windows.create({
    url: chrome.runtime.getURL('popup.html'),
    width: 500,
    height: 295,
    type: 'popup'
  });
});

您的hostEquals规则永远不会匹配任何内容,因为根据文档,它会与 URL 的主机部分进行比较,例如简单的www.example.com所以它不能有/* 请注意, chrome.declarativeContent 使用自己的过滤系统,它不支持 content_scripts 或 webRequest 使用的任何常用匹配模式。

解决方案1:

{ hostEquals: 'www.example.com', pathPrefix: '/video/', schemes: ['https'] }

解决方案2:

{ urlPrefix: 'https://www.example.com/video/' }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM