为什么我的Chrome扩展程序内容脚本的运行时没有任何onMessage仅连接和发送消息

查0

我已经为此苦苦挣扎了好几天,我扩展程序的内容脚本似乎缺少权限或某些东西,我在API文档中进行了搜索,却一无所获。

如果我使用以下代码从内容页面发送消息,而不是向内容页面发送消息,则消息传递有效:

从后台页面:

var messageCallback = function (e) {
    var nodeMessage = JSON.parse(e.data);

    switch (nodeMessage.ExecutionType) {
        case 0:
            chrome.tabs.create({ url: nodeMessage.Url }, function (tab) {

                //injects injected.js NOT messages.js
                injectCode(tab.id);

                chrome.tabs.sendMessage(tab.id,nodeMessage);
            });
        break;
//some other switch cases...

从内容脚本中:

chrome.runtime.onMessage.addListener(function (message) {
    console.log('Message received');

    var event = new CustomEvent("foo_receive", {
        detail: message,
        bubbles: true
    });

    console.log('Event sent');
    document.dispatchEvent(event);
});

我的清单如下所示:

{
  "manifest_version": 2,

  "name": "extesnion_name",
  "short_name": "thing",
  "description": "long sentence",
  "version": "1.0.0",
  "icons": { "16": "icon16.png",
             "48": "icon48.png",
             "128": "icon128.png" },
  "permissions": ["background", "tabs", "<all_urls>" ],
  "background": {
    "scripts": ["background.js"],
    "persistent": true
  },
  "content_scripts":[
      {
         "matches": ["<all_urls>"],
         "js": ["messages.js"],
      }
  ],
  "web_accessible_resources": ["injected.js"]
}

chrome控制台中显示以下内容:

内容脚本:

在此处输入图片说明

和背景页面:

在此处输入图片说明

连接

如果chrome.runtime.onMessage未定义,则在运行内容脚本时,您会在控制台中看到一条错误消息,告诉您。

实际情况是,您chrome.runtime在控制台中看到的是受限版本,因为您正在访问网页上下文而不是内容脚本上下文。请参阅此答案以从控制台访问内容脚本上下文。

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Chrome扩展程序运行时没有弹出窗口或任何可视元素

来自分类Dev

在linux中运行时,为什么没有显示任何框架?

来自分类Dev

在linux中运行时,为什么没有显示任何框架?

来自分类Dev

为什么在消息运行时我的NSNotificationObserver被释放?

来自分类Dev

从cron运行时,为什么此脚本没有输出到文本文件?

来自分类Dev

当脚本在没有它的情况下正常运行时,为什么要使用`return`?

来自分类Dev

为什么我的脚本在从 udev 运行时失败?

来自分类Dev

程序未运行时,为什么我的访问被拒绝?

来自分类Dev

为什么我使用eztrace拍摄的运行时映像没有显示线程的空闲状态?

来自分类Dev

为什么我的程序运行时较长,而本应运行时较短?

来自分类Dev

为什么我的Chrome扩展程序无法为某些网站的内容脚本在<body>中附加HTML?

来自分类Dev

为什么 GetMessage 退出我的程序而不发送任何消息?

来自分类Dev

当我的应用程序运行时,为什么在Android Studio Logcat中看到“没有可调试的应用程序”?

来自分类Dev

为什么我的 vba 脚本在逐行执行时(在调试中)有效,但在运行时无效?

来自分类Dev

为什么我的ini文件的扩展名没有任何内容?

来自分类Dev

为什么我的Chrome扩展程序脚本无法在网页上运行?

来自分类Dev

在注入的脚本和Google Chrome扩展程序代码/内容脚本之间传递消息的最安全方法是什么?

来自分类Dev

有没有一种方法可以唯一标识内容脚本在我的Chrome扩展程序中运行的iframe?

来自分类Dev

有没有一种方法可以唯一标识内容脚本在我的Chrome扩展程序中运行的iframe?

来自分类Dev

从Xcode运行时,为什么我的ios应用程序似乎仅继续执行后台任务

来自分类Dev

为什么我的应用程序没有绘制任何内容?

来自分类Dev

为什么我的应用程序没有绘制任何内容?

来自分类Dev

我的程序没有为 print("the") 打印任何内容。谁能解释为什么?

来自分类Dev

以root身份运行时,ls命令不返回任何内容,为什么?

来自分类Dev

Chrome扩展程序将Background.js中的消息发送到内容脚本

来自分类Dev

在Chrome扩展程序的背景页面的onClick事件上将消息发送到内容脚本

来自分类Dev

无法在Chrome扩展程序中从后台页面向内容脚本发送消息

来自分类Dev

为什么我的家用PC上没有显示Skype Chrome扩展程序?

来自分类Dev

为什么在守护程序运行时出现“无法连接到Docker守护程序”的提示?

Related 相关文章

  1. 1

    Chrome扩展程序运行时没有弹出窗口或任何可视元素

  2. 2

    在linux中运行时,为什么没有显示任何框架?

  3. 3

    在linux中运行时,为什么没有显示任何框架?

  4. 4

    为什么在消息运行时我的NSNotificationObserver被释放?

  5. 5

    从cron运行时,为什么此脚本没有输出到文本文件?

  6. 6

    当脚本在没有它的情况下正常运行时,为什么要使用`return`?

  7. 7

    为什么我的脚本在从 udev 运行时失败?

  8. 8

    程序未运行时,为什么我的访问被拒绝?

  9. 9

    为什么我使用eztrace拍摄的运行时映像没有显示线程的空闲状态?

  10. 10

    为什么我的程序运行时较长,而本应运行时较短?

  11. 11

    为什么我的Chrome扩展程序无法为某些网站的内容脚本在<body>中附加HTML?

  12. 12

    为什么 GetMessage 退出我的程序而不发送任何消息?

  13. 13

    当我的应用程序运行时,为什么在Android Studio Logcat中看到“没有可调试的应用程序”?

  14. 14

    为什么我的 vba 脚本在逐行执行时(在调试中)有效,但在运行时无效?

  15. 15

    为什么我的ini文件的扩展名没有任何内容?

  16. 16

    为什么我的Chrome扩展程序脚本无法在网页上运行?

  17. 17

    在注入的脚本和Google Chrome扩展程序代码/内容脚本之间传递消息的最安全方法是什么?

  18. 18

    有没有一种方法可以唯一标识内容脚本在我的Chrome扩展程序中运行的iframe?

  19. 19

    有没有一种方法可以唯一标识内容脚本在我的Chrome扩展程序中运行的iframe?

  20. 20

    从Xcode运行时,为什么我的ios应用程序似乎仅继续执行后台任务

  21. 21

    为什么我的应用程序没有绘制任何内容?

  22. 22

    为什么我的应用程序没有绘制任何内容?

  23. 23

    我的程序没有为 print("the") 打印任何内容。谁能解释为什么?

  24. 24

    以root身份运行时,ls命令不返回任何内容,为什么?

  25. 25

    Chrome扩展程序将Background.js中的消息发送到内容脚本

  26. 26

    在Chrome扩展程序的背景页面的onClick事件上将消息发送到内容脚本

  27. 27

    无法在Chrome扩展程序中从后台页面向内容脚本发送消息

  28. 28

    为什么我的家用PC上没有显示Skype Chrome扩展程序?

  29. 29

    为什么在守护程序运行时出现“无法连接到Docker守护程序”的提示?

热门标签

归档