火狐插件开发 - 使用低级或非SDK接口

7

我正在进行Firefox插件开发,我已经成功构建了插件,但是在提交时它给出了验证错误:“警告:您的插件使用了一个接口,绕过了插件SDK的高级保护。应该避免使用这个接口,否则会显著增加审核过程的复杂性。”

const { Cc, Ci } = require("chrome"),
nsIIOService = Cc["@mozilla.org/network/io-service;1"].getService(Ci.nsIIOService),
nsIStyleSheetService = Cc["@mozilla.org/content/style-sheet-service;1"].getService(Ci.nsIStyleSheetService);

我能在我的设备上运行这个插件,但由于这个标记的验证检查,无法提交。

有没有其他替代方法?

2个回答

0

使用它是完全可以接受的。在SDK中,有些API没有替代品。那个验证只是一个警告,因为这些功能并不是固定的,随时可能会更改。你能否发布一张阻止提交的验证截图?它应该是允许通过的。


1
虽然允许提交,但我的插件不会被授予完整的审核! - user4596341
这真的很奇怪。你能分享一下截图或者评审人员与你分享的电子邮件吗?是有评审人员拒绝了你的插件吗? - Noitidart
插件已经进行了初步审核。审查人员的评论 - 1)插件必须在“禁用”或“卸载”时取消注册/断开观察者,删除监听器,清除间隔(对于setInterval),恢复所有内置首选项,这些首选项被插件更改,并删除其自己导入的模块(不是导入Firefox模块),unregisterSheet。 - user4596341

0

虽然与nsIStyleSheetService的功能不完全相同,但sdk插件可以使用page-mod将样式表注入到某些或所有内容页面中。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接