我正在尝试将 usescript 转换为 Firefox 插件,但它不起作用(它适用于除 Firefox 之外的所有现代浏览器)。我试过 https://arantius.com/misc/greasemonkey/script-compiler.php它转换用户脚本及其工作,但附加组件在验证时失败,我无法在 Firefox 附加组件目录中提交它。
这是我的代码 http://pastebin.com/mxnBqDxS
有没有简单的方法来创建 Firefox 附加组件,这个脚本不会在验证时失败?
最佳答案
根据您的评论,扩展并没有被自动验证拒绝(自动验证总是产生许多没有实际意义的警告),而是被人工审阅者拒绝。审阅者认为您脚本中的以下行不安全:
button.innerHTML = wrapper.text;
但是审稿人错了,您应该回复邮件(您的回复将发送到 amo-editors 邮件列表)指出:
wrapper.text
不是网页或用户提供的一些文本。它更像是在您的扩展中硬编码的东西,它的可能值是预先知道的并且不需要清理。即使 if
wrapper.text
是您从网页获得的一些文本 -button
也作为元素插入那个非常网页。这意味着任何由于不正确的清理而执行的 JavaScript 代码都以网页的权限执行。该网页不会获得比它已经拥有的更多的权限。
因此,尽管 innerHTML
是安全问题的常见来源,但在本例中并非如此。
关于javascript - 如何将用户脚本转换为 Firefox 附加组件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8632718/