首页 > 解决方案 > 未捕获的 ReferenceError:$ 未定义?不知道如何修复

问题描述

我一直在尝试制作 chrome 扩展,并且我了解基础知识。但是每次我尝试使用 javaScript 弹出并使用 jquery 时,总是会出现同样的错误。未捕获的 ReferenceError: $ 未定义。下面是我的代码。

显现:

{
    "manifest_version": 2,
    "name": "Budget Manager",
    "version": "1.0",
    "description": "This extension tracks your overall spending.",
    "icons": {
        "128": "icon128.png",
        "48": "icon48.png",
        "16": "icon16.png"
    },
    "browser_action": {
    "default_icon": "icon16.png",
    "default_popup": "popup.html"
    },
    "permissions": [
    "storage"
    ]
}

弹出.html:

<!DOCTYPE HTML>
<HTML>
    <head>
        <title>Budget Manager</title>
        <script src="popup.js">
            
        </script>
        <script src="jquery-3.1.0.min.js">

        </script>
    </head>
    <body>
        <h1>Budget Manager</h1>
        <h2>Total Spend: <span id="total">0</span></h2>
        <h2>Limit: <span id="limit">0</span></h2>
        <h3>Enter Amount</h3>
        <input type="text" id="amount"/>
        <input type="submit" id="spendAmount" value="Spend"/>
    </body>
</html>

Popup.js:

$(function() {

    chrome.storage.sync.get('total', function(budget){
        $('total').text(budget.total);
    })

    $('spendAmount').click(function(){
        chrome.storage.sync.get('total', function(budget){
            var newTotal = 0;
            if(budget.total){
                newTotal += parseInt(budget.total);
            }

            var amount = $('#amount').val();
            if(amount){
                newTotal += parseInt(amount);
            }

            chrome.storage.syng.set({'total': newTotal});

            $('#total').text(newTotal);
            $('#amount').val('');
        });
    });
});

谢谢

标签: google-chrome-extension

解决方案


推荐阅读