Chrome Extension: Uncaught ReferenceError: $ is not defined

一直鬼打牆,遇到這一個錯誤訊息,明明前幾分鐘還可以使用,現在又不行。

即使加了下面的程式碼:

var $ = jQuery;

會變成 jQuery is not defined

問題發生的原因是,「同一個 url pattern 在多個 matches」被使用,第二個 matched 的 js 會出問題。

會出現錯誤的manifest.json 設定:

{
    "matches": [
        "https://max.com/*/*/*"
    ],
    "run_at": "document_end",
    "world": "MAIN",
    "js": [
        "jquery.min.js",
        "js/main_next.js"
    ]
},
{
    "matches": [
        "https://max.com/*/*/*"
    ],
    "run_at": "document_end",
    "js": [
        "jquery.min.js",
        "js/main.js"
    ]
},

執行正常的設定:

{
    "matches": [
        "https://max.com/*/*/*"
    ],
    "run_at": "document_end",
    "js": [
        "jquery.min.js",
        "js/main.js"
    ]
},
{
    "matches": [
        "https://max.com/*/*/*"
    ],
    "run_at": "document_end",
    "world": "MAIN",
    "js": [
        "jquery.min.js",
        "js/main_next.js"
    ]
},

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *