首页 > 解决方案 > Chrome扩展content_script添加带有onchange函数的html,函数未定义

问题描述

这是我第一次尝试创建 chrome 扩展,大多数东西已经在工作了。除了一件事。

我创建了一个插入 SELECT 的脚本,该 SELECT 有一个 onchange 调用在我的内容脚本中定义的函数。但是当 select onchange 触发时,调用的函数是未定义的。

代码示例:

manifest.js

{
"name": "Extra Filters",
"version": "0.0.1",
"manifest_version": 2,
"content_scripts": [
    {
        "matches": ["..."],
        "js": ["content.js"]
    }
]

}

内容.js

function CreateSelect(index, options) {

    if(options == null) return;

    let html = `<select onchange='AddFilter(${index}, this)'>`;
    options.forEach(option => {
        html += `<option 
            value="${option}">
            ${option}
            </option>`;
    });

    html += `</select>`;

    return html;
}

function AddFilter(index, value) {
    console.log(index, value);
}

So when the select changes, I get the error: Uncaught ReferenceError: AddFilter is not defined

标签: google-chromegoogle-chrome-extension

解决方案


推荐阅读