社区首页 >问答首页 >如何将SDK PageMod()转换为How扩展

如何将SDK PageMod()转换为How扩展
EN

Stack Overflow用户
提问于 2017-12-07 03:01:44
回答 1查看 85关注 0票数 0

我在我的Firefox SDK应用程序中使用了,我想转换成Webextension

我在背景js文件的顶部声明:

代码语言:javascript
代码运行次数:0
复制
var pageMod = require("sdk/page-mod");

我在中没有开发,是在manifest.json中声明的

代码语言:javascript
代码运行次数:0
复制
"content_scripts": [
    {
      "matches": ["*://*.mytestsite.com/*"],
      "js": ["background.js"]
    }
  ]

但是我在我的pageMod()脚本中调用了background,我有很多附件和其他内容。我不知道我怎么能改变这个。

,例如,我想要转换的东西:

代码语言:javascript
代码运行次数:0
复制
pageMod.PageMod({
  include: "*.mytestsite.com",
  contentScriptFile: [self.data.url("jquery-2.0.3.min.js"), self.data.url("jquery-ui.min.js"), self.data.url("site_modal_min.js"), self.data.url("timerreview.js")],
  onAttach: function onAttach(worker) {

如何使用我的PageMod()调用与Webxtension

EN

回答 1

Stack Overflow用户

发布于 2017-12-07 03:32:23

请注意,在manifest.json中,不能在content_scripts标记中包含background.js。相反,您应该这样做(假设域的匹配选择器是正确的):

代码语言:javascript
代码运行次数:0
复制
"background": {
    "scripts": ["background.js"]
},

"content_scripts": [
  {
    "matches": ["*://*.mytestsite.com/*"],
    "js": ["timerreview.js", "jquery.js"]
  }
]

如果您想要通信(变量等),请在后台脚本和内容脚本之间使用消息传递。这特别有用,因为大多数WebExtensions API只对后台脚本可用。

在内容脚本中添加:

代码语言:javascript
代码运行次数:0
复制
// Listen for messages from the background script
browser.runtime.onMessage.addListener(onMessage);

function onMessage(message) {
    switch(message.action)
        case "testAction":
            testAction(message.data);
            break;
        default:
            break;
    }
}

function sendMessage(action, data){
    browser.runtime.sendMessage({"action": action, "data": data});
}

在后台脚本中,添加:

代码语言:javascript
代码运行次数:0
复制
// listen for messages from the content or options script
browser.runtime.onMessage.addListener(function(message) {
    switch (message.action) {
        case "actionFromContent":
            doSomething(); // message.data is not needed
            break;
        default:
            break;
    }
});

// See also https://developer.mozilla.org/en-US/Add-ons/WebExtensions/API/Tabs/sendMessage
function sendMessage(action, data){
    function logTabs(tabs) {
        for (tab of tabs) {
            browser.tabs.sendMessage(tab.id, {"action": action, "data": data}).catch(function(){
                onError("failed to execute " + action + "with data " + data);
            });
        }
    }

    browser.tabs.query({currentWindow: true, active: true}).then(logTabs, onError);
}

function onError(error){
    console.error(error);
}

现在您可以使用:

代码语言:javascript
代码运行次数:0
复制
sendMessage("actionFromContent") from within the content script to send a message to the background script
sendMessage("testAction", "someData") from within the background script to the active content script (the active tab)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47693569

复制
相关文章
如何将Postman API测试转换为JMeter以进行扩展
许多测试工程师使用Postman进行API测试自动化。他们发现端点,发出请求,创建测试数据,运行回归测试,使用Newman等实现API测试的持续集成。但是,Postman有一定的测试限制。希望获得更多负载测试能力的开发人员,DevOps和QA工程师可以将其Postman测试转换为JMeter。这篇博客文章将解释何时建议将Postman转换为JMeter,并逐步说明如何实现。
用户8460142
2023/07/07
4650
如何将Postman API测试转换为JMeter以进行扩展
OpenHarmony如何将public-SDK替换为full-SDK,以支持更高系统API
在开发中,我们有时候会用到系统接口,这个时候就需要用full-SDK,那么如何将public-SDK替换为full-SDK呢,本文将给大家给出指引。
徐建国
2022/12/05
1.3K0
OpenHarmony如何将public-SDK替换为full-SDK,以支持更高系统API
如何将ownCloud转换为Nextcloud
ownCloud的核心开发团队中一部分人员启动了一个名为Nextcloud的项目。虽然ownCloud将继续开发,但您可能想了解新项目的功能。Nextcloud和ownCloud共享一个公共代码库,这意味着将现有的ownCloud安装迁移到Nextcloud中。
小铁匠米兰的v
2018/08/02
2.6K0
如何将Array转换为List?
可以使用 Arrays.asList() 方法, 该方法接受一个数组作为输入,并返回一个列表作为输出。
程序你好
2018/07/23
1.4K0
hikvision SDK使用(转)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
vv彭
2020/10/27
2.3K0
hikvision SDK使用(转)
java如何将String转换为enum
已知枚举对应的String值,希望得到对应的枚举值。例如,已知"A",希望得到对应的枚举——Blah.A,应该怎么做? Enum.valueOf()是否能实现以上目的,如果是,那我如何使用?
硬核编程
2020/07/23
3.9K0
如何将视频轻松转换为 GIF
有时看到一条有意思的视频想发到朋友圈,但朋友圈有限制时长,而且也不方便,这时可以把视频转GIF(再做成表情包也可以),再发到朋友圈或者微博(不用像视频一样需要等待审核)。
苏生不惑
2020/02/26
1.8K0
如何将pdf转换为word 2.0
再次以《新冠肺炎诊疗方案(试行第七版)》为例,该文件为图片性pdf,文字不可复制。
生信菜鸟团
2020/06/04
2.6K0
Java 如何将 List 转换为 MAP
上面的代码将会把 Id 作为 Key,然后生成的 Map 是以 id 为 Key,Animal 为Value 的 Map。
HoneyMoose
2022/10/12
2K0
Java 如何将 List 转换为 MAP
java如何将String转换为Int
Short.valueOf/parseShort, Long.valueOf/parseLong等也是有类似差别。
硬核编程
2020/07/23
1.6K0
如何将pdf转换为word 3.0
相对于封装的软件,python和R的操作需要稍微折腾一下。浏览论坛的时候的发现了一款轻量级程序,尝试了一下还不错,看一下转换的效果:
生信菜鸟团
2020/08/04
1.7K0
如何将pdf转换为word 3.0
如何将 JSON 转换为有序判断?
JSON(JavaScript Object Notation)是系统之间数据交换的流行格式。它是一种轻量级、基于文本且易于解析的格式,已成为互联网上数据交换的标准。但是,JSON 不会为数据结构中的元素提供任何顺序。虽然这在大多数情况下可能不是问题,但在某些情况下,元素的顺序很重要。
很酷的站长
2023/08/11
4100
如何将 JSON 转换为有序判断?
[1154]如何将字符串转换为datetime
1.把datetime转成字符串: 2017-11-23 17:05:18 2.把字符串转成datetime: 2017-11-23 16:10:10 3.把字符串转成时间戳形式: 1511424610.0 4.把时间戳转成字符串形式: 2017-11-23 17:05:18 5.把datetime类型转外时间戳形式: 1511427918.0
周小董
2022/07/27
3.3K0
mysql整型转字符串_java中如何将字符串转换为字符数组
select * from A order by cast(name as unsigned);
全栈程序员站长
2022/09/27
23.3K0
java中如何将数组转换为List
如何将其转换为ArrayList <Element> arraylist = ???
硬核编程
2020/07/23
3.1K0
如何将文字转换为对应的PathGeometry
其实我们可以使用FormattedText的BuildGeometry将字符串转成对应的Geometry
黄腾霄
2020/06/10
1.6K0
如何将Pandas数据转换为Excel文件
将数据导出到Excel文件通常是任何用户阅读和解释一组数据的最优先和最方便的方式。通过使用Pandas库,可以用Python代码将你的网络搜刮或其他收集的数据导出到Excel文件中,而且步骤非常简单。
玖柒的小窝
2021/11/01
7.6K0
如何将 CentOS 8 转换为 CentOS Stream
CentOS 未来是不会更新数字版本了。CentOS 项目组,未来会变更为Stream版本,也就是俗称的滚动版本,那么如何将数字版本升级为滚动版本呢?
小陈运维
2021/10/13
1.8K0
如何将XML转换为HL7
之前的文章中我们介绍了如何将HL7转换为XML,本文介绍另一个方向的转换,即如何将XML转换为HL7。常见的EDI报文标准包括X12、EDIDACT和VDA等,本文主要介绍HL7报文标准,实现如何将XML转换为HL7。HL7包括构建和交换医疗保健信息的标准,以及系统集成和互操作性的其他标准。医疗保健系统可以使用这些标准、指南和方法实现统一方式的相互通信、共享信息和处理数据,有助于减少医疗保健在地理上的孤立和变化。HL7报文标准详细信息可以参考:HL7报文标准。本文中提到的XML是指符合知行EDI系统内部规则的XML文件。本文主要介绍如何将XML转换为HL7。
知行软件EDI
2021/03/31
3.8K0
如何将XML转换为HL7
Java 中如何将 String 转换为 Long
根据官方的说法为:如果输入的字符串为 null 或者 0 的话,将会有下面的返回和输出。
HoneyMoose
2022/01/06
2.8K0
Java 中如何将 String 转换为 Long

相似问题

Firefox扩展- PageMod脚本修改窗口

10

firefox扩展:- pagemod不工作

10

如何将SDK转换为codename one扩展

10

Android SDK how to OnClickListener

38

Firefox-addon-sdk:当按下按钮时启动pageMod?

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文