【问题标题】:I can't seem to run my function from an extension我似乎无法从扩展程序运行我的功能
【发布时间】:2020-10-07 15:55:31
【问题描述】:

我正在尝试开发一个扩展,但我似乎无法让我的 js 函数运行。

这里是元素:-

1.清单

{
    "manifest_version": 2,
    "name": "KS Scrapper",
    "description":"Simple Scrapper",
    "version" : "1.0.0",
    "icons":{"128":"images/ks_logo_128.png"},
    "browser_action" : {
        "default_icon" : "images/ks_logo_19.png",
        "default_popup" : "popup.html"
    },
    "content_scripts" : [
            {
            "matches": ["<all_urls>"],
            "js" : ["popup.js"],
            "css" : ["c.css"]
        }
    ],
    "web_accessible_resources": [
        "css/style.css"
    ],
    "permissions": ["tabs"],
    "background":{
        "scripts":["background.js"]
    }
}

2.popup.js

var a = chrome.extension.getURL("c.css");
$('<link rel="stylesheet" type="text/css" href="' + a + '" >').appendTo("head");

chrome.tabs.query({
    active: true,
    currentWindow: true
}, function () {
    $(document).ready(function(){
        $("a").hover(function(){

            //if get onhover id
            alert("NOW GET ON HOVER ID NAME:--"+" "+this.id);

            //if get onhover class
            console.log("NOW GET ON HOVER CLASS NAME:--"+" "+$(this).attr('class'));


        });
    });
});

任何关于我哪里出错的建议都将不胜感激。 我无法在控制台中获得警报或输出。帮助将不胜感激。另外,如果有人能帮助我解决我在运行扩展程序时遇到的以下错误,我将不胜感激。

未捕获的引用错误:$ 未定义

【问题讨论】:

  • 查看extension's architecture。内容脚本受限于它们可以访问的 API(例如,它们不能使用chrome.tabs)。你不能使用 jQuery 的 $ 除非你用你的扩展加载 jQuery。
  • 嘿,感谢您的帮助.....我已经添加了更改“js”:[“jquery-2.1.4.min.js”,“popup.js”],在 manifest.json 的内容脚本中,但我仍然收到 $ 未定义错误....是否可以分享我应该做什么的 sn-p?谢谢

标签: javascript jquery google-chrome-extension google-chrome-devtools


【解决方案1】:

我建议使用npm i jquery,然后在node_modules/jquery/dist 目录中复制jquery.min.js 并将其移动到扩展程序的主要内容脚本文件夹中。

然后,您可以在popup.html 文件中的popup.js 文件上方的行中链接到它。

<script src="./jquery.min.js"></script>

另外值得注意的是,通常popup.js文件是通过&lt;script&gt;标签导入popup.html的。您无需将 popup.js 添加到清单的 content_scripts 部分。

【讨论】:

  • 嘿,感谢您提供的信息,按照您所说的进行,并且有效。实际上是在玩扩展程序,忘记将 popup.js 的名称更改为 content.js。
猜你喜欢
  • 2020-12-30
  • 2011-09-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-05
相关资源
最近更新 更多