Кажется, я не могу запустить свою функцию из расширения - PullRequest
0 голосов
/ 17 июня 2020

Я пытаюсь разработать расширение, но мне кажется, что мне не удается запустить функцию js.

Вот элементы: -

1.Manifest

{
    "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'));


        });
    });
});

Любые предложения о том, где я ошибаюсь, были бы очень признательны. Я не могу получить предупреждение или вывод в консоли. Помощь будет принята с благодарностью. Также, если бы кто-нибудь помог мне решить следующую ошибку, которую я получаю при запуске расширения, я был бы очень благодарен.

Uncaught ReferenceError: $ is not defined

1 Ответ

0 голосов
/ 18 июня 2020

Я бы рекомендовал использовать npm i jquery, затем в каталоге node_modules/jquery/dist скопируйте jquery.min.js и переместите его в папку сценария основного содержимого вашего расширения.

Затем вы можете связать его внутри своего файла popup.html в строке над файлом popup.js.

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

Также стоит отметить, что обычно файл popup.js импортируется в popup.html через тег <script>. Вам не нужно добавлять popup.js в раздел content_scripts вашего манифеста.

...