gpt4 book ai didi

javascript - 如何在 Firefox 插件中使用来自外部 URL 的内容脚本文件

转载 作者:行者123 更新时间:2023-11-30 10:06:50 25 4
gpt4 key购买 nike

我对 Firefox 插件的最新更新已被拒绝,因为我使用了自定义的 jquery-ui(由他们的网站生成,其中包含我想要的小部件)并且未通过校验和检查。

Your add-on includes a JavaScript library file that doesn't match our checksums for known release versions. We require all add-ons to use unmodified release versions, obtained directly from the developer's website. We accept JQuery/JQuery-UI libraries downloaded from 'ajax.googleapis.com', 'jquery.com' or 'jqueryui.com'; and used without any modification. (file-name change does not matter) I'm sorry, but we cannot accept modified, re-configured or customized libraries.

很公平,我可以下载完整的并重新提交,但我想知道是否可以链接到一个?

如果我尝试这样做:

contentScriptFile: [self.data.url("https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"), self.data.url("https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.3/jquery-ui.min.js"), self.data.url("api.js")],

我在运行时收到一条错误消息,告诉我内容脚本大部分是本地的。谷歌和the API似乎对我来说是幻觉的答案。

有谁知道这是否可行以及如何实现?

干杯

丰富

最佳答案

self.data.url("https://...")

你好像没读过the documentationdata.url()

明确指出

The data.url() method returns a resource:// url that points at an embedded data file.

这意味着您不能链接到外部资源。


Does anyone know if this is possible and how?

不,contentScriptFile 与常规 Web 内容相比以(略微)提升的权限运行,这就是为什么您不允许从可能发生变化并且理论上将来可能注入(inject)恶意代码的源加载脚本。

如果您想依赖外部库并使它们保持最新,您可以简单地编写一个小的构建脚本,在构建新的 XPI 时始终下载最新版本。

原则上,您可以通过特权 XHR 加载脚本,然后将其作为字符串传递,但这可能无法通过 AMO 审核。


还有一点个人意见:由于您的目标是特定的浏览器,因此您实际上并不需要 jquery 来实现其跨浏览器逻辑,现代 Web API 提供了许多方便的方法,您只需使用 vanilla ES6 就可以做到这一点- javascript 和最先进的 DOM API。迭代器和箭头函数也使批量操作相当简洁。

关于javascript - 如何在 Firefox 插件中使用来自外部 URL 的内容脚本文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28626395/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com