首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如果安装了firefox扩展,为什么我的测试不起作用?

如果安装了firefox扩展,为什么我的测试不起作用?
EN

Stack Overflow用户
提问于 2018-04-10 15:22:42
回答 1查看 134关注 0票数 0

我已经为我的web应用程序开发了Chrome和Firefox的扩展。现在我想检查一下,用户是否已经安装了这个扩展。如果没有,则会弹出一条带有下载链接的消息。

为了有一个通用的代码基础,我选择了一个既适用于Chrome也适用于Firefox的选项。不幸的是,它只在Chrome上起作用。

我的代码:

//page.js

代码语言:javascript
运行
复制
window.addEventListener("message", function(event){
  if(event.data && event.data.direction == "from-content-script") {
    document-getElementById("message").style = "display: none";
  }
});

//content-script.js

代码语言:javascript
运行
复制
window.postMessage({
  direction: "from-content-script",
  message: "Message from the content script"
}, "*");

//manifest.json

代码语言:javascript
运行
复制
"content_scripts": [{
   "matches": ["http://localhost:3000/*],
    "js": ["content-script.js"]
}]

所以它在Chrome上运行得很好,但在Firefox上就不行了。我想知道内容脚本是否被正确注入,因为如果我包含一个用于测试目的的警报,它不会显示出来。

我指的是这个:How to check if a Firefox WebExtension is installed or not with page JavaScript?,但我不能让它在火狐上工作。

谢谢你的帮忙!

EN

回答 1

Stack Overflow用户

发布于 2021-06-01 16:27:18

正如the docs所说:

路径模式字符串不应包含端口号。添加端口,例如:"http://localhost:1234/"*会导致匹配模式被忽略。

不要使用

代码语言:javascript
运行
复制
   "matches": ["http://localhost:3000/*"],

代码语言:javascript
运行
复制
   "matches": ["http://localhost/*"],
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49747725

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档