Chrome扩展程序在页面操作中显示弹出窗口

maximelian1986

我对chrome扩展浏览器和页面操作感到有些困惑。我的目标是弹出特定页面。

manifest.json

    {
      "name": "Basic extention",
      "version": "1.0",
      "description": "Extention",
      "permissions": [
        "activeTab", 
        "declarativeContent", 
        "storage",
        "tabs",
        "*://www.google.com/*"  ],  
      "background": {
        "scripts": ["background.js"],
        "persistent": false
      },  
      "page_action": {
        "default_popup": "popup.html",
        "default_icon": {
          "16": "images/icon16.png",
          "32": "images/icon32.png",
          "48": "images/icon64.png",
          "128": "images/icon128.png"
        }
      },
      "icons": {
        "16": "images/icon16.png",
        "32": "images/icon32.png",
        "48": "images/icon64.png",
        "128": "images/icon128.png"
      },
      "manifest_version": 2
    }

background.js

'use strict';

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

  chrome.declarativeContent.onPageChanged.removeRules(undefined, function() {
    chrome.declarativeContent.onPageChanged.addRules([{
      conditions: [new chrome.declarativeContent.PageStateMatcher({
        pageUrl: {hostEquals: 'https://www.google.com/*'},
      })],
      actions: [new chrome.declarativeContent.ShowPageAction()]
    }]);
  });
}); 

popup.html

<!DOCTYPE html>
<html>
  <head>
    <style>
      body{
        background-color: green;
      }
    </style>      
    <title>Test extention</title>
  </head>
  <body>  
    Test
  </body>
</html>

这是问题所在:

  • 如果browser_action在清单中使用,它将按预期工作。单击扩展图标后,将显示弹出窗口。

  • 但是,当我将其更改为时page_action,将不再显示弹出窗口。(单击鼠标左键会打开与单击鼠标右键相同的菜单,而不是显示我的弹出窗口。)


我是否需要以某种方式手动触发弹出窗口?我是否在清单中缺少某些权限?我将不胜感激任何帮助或提示。

穆罕默德·曼苏(Mohamed Mansour)

您为hostEquals错误地定义了条件它应该是之间分裂hostEqualscheme如下所示:

pageUrl: { hostEquals: 'www.google.com', schemes: ['https'] }

完成之后,它应该可以按定义工作。看看https://developer.chrome.com/extensions/declarativeContent中的“规则”部分

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Chrome扩展程序弹出窗口不再显示

为什么我的 Chrome 扩展程序的浏览器操作弹出窗口没有显示?

弹出式窗口中的Chrome扩展程序后台页面

每次加载页面时,如何从后台向 Chrome 扩展程序中的弹出窗口发送消息?

简单的Chrome扩展程序不会显示弹出窗口

Chrome扩展程序脚本仅在显示弹出窗口时运行

Chrome扩展程序弹出窗口按条件显示

在Chrome扩展程序中,是否可以截屏并在弹出窗口中显示屏幕?

如何在Chrome扩展程序中仅显示一次弹出窗口?

如何在Chrome扩展程序中显示弹出式窗口?

如何防止我的Chrome扩展程序中的弹出窗口放大

在 Google Chrome 扩展程序中获取打开的弹出窗口

在 chrome 扩展程序中创建一个弹出窗口

在chrome扩展程序中打开和访问弹出窗口

在Chrome扩展程序中关闭弹出窗口后记住数组

chrome扩展弹出窗口不显示

如何缩小Chrome扩展程序的弹出窗口

Chrome扩展程序弹出窗口无法打开

禁止关闭Chrome扩展程序弹出窗口

如何从Chrome扩展程序中打开的窗口获取背景页面?

Chrome扩展程序弹出窗口未显示在第二台显示器上

Chrome扩展程序弹出窗口和选项页面的默认样式表在哪里?

Chrome扩展程序:如何在页面加载时运行Javascript(不打开弹出窗口)

我可以使用默认操作弹出窗口更改chrome扩展程序的位置吗?

Chrome 扩展程序的浏览器操作,带有注入/删除 CSS 的弹出窗口

Chrome扩展程序-在全屏视频顶部显示自定义通知/弹出窗口(HTML元素)

我所有的chrome扩展程序弹出窗口都只显示为小空框

无法在Chrome扩展程序中从内容脚本通信到弹出窗口

Chrome扩展程序中的数据未从弹出窗口传递到后台