javascript - Web 扩展 API 上的 JQuery

标签 javascript jquery firefox-addon-webextensions firefox-quantum

是否可以在 Firefox Web Extension 上导入并使用 JQuery?

我已经在 manifest.json 上尝试过此操作

"background":{
"scripts": ["views/jquery.js", "startup.js"]
},
"permissions": [
"storage"
],
"browser_action": {
"browser_style": true,
"default_title": "iVi - Personalized your Dashboard",
"default_popup": "views/menu.html",
"default_icon": {
  "19": "icons/ivi.png",
  "38": "icons/ivi@2x.png"
}

并在menu.HTML上使用`$(document).ready事件,如下所示

<script type="text/javascript">
    $(document).ready(function() {
        $("#url").val("123");
    });
</script>

<div class="panel-form-column2">
  <input type="text" id="url" name="url" value="" />
</div>

但它会产生如下错误:

Content Security Policy: The page’s settings blocked the loading of a resource at self (“script-src moz-extension:***”). Source: $(document).ready(function() {

并尝试在 HTML 上而不是在 manifest.json 上内联导入 JQuery

<script type="text/javascript" src="jquery.js"> </script>

<script type="text/javascript">
    $(document).ready(function() {
        $("#url").val("123");
    });
</script>

仍然遇到同样的问题。

有什么想法吗?

最佳答案

根据此页面:https://developer.mozilla.org/en-US/Add-ons/WebExtensions/Content_Security_Policy ,内联 javascript 将不会被执行,请尝试将 Javascript 放入文件中,然后将其链接到 html 中,就像使用 jQuery 所做的那样。

将 jQuery 放置在后台脚本下的 list 中也不起作用,因为背景页面和浏览器操作页面是分开的。

这也扩展到放置在字符串中的任何 Javascript,例如

<button onclick="test()">example</button>

test() 单击按钮时不会运行。

关于javascript - Web 扩展 API 上的 JQuery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47343254/

相关文章:

javascript - Nativescript - 具有嵌套数据的中继器

jquery - 带有 SVG onclick 问题的 HTML <div>

javascript - 使用 jquery/json/getJSON 创建辅助方法

javascript - 如何为 TypeScript 文件创建模板?

javascript - 如何减少grommet中的webpack包大小?

javascript - 使用带有 browserSettings.proxyConfig 的 firefox webextension 设置代理

firefox - 识别书签工具栏文件夹 (Firefox Webextension)

google-chrome-extension - 可以browser.tabs.query({active : true, currentWindow : true}) ever return more than one tab?

javascript - Firefox 加载项可以针对非 HTML 请求(例如图像)运行吗?

javascript - 我想做的一件棘手的 javascript 事情...从列表中提取元素并隐藏其余部分