Chrome扩展程序 - 如何使用按钮单击功能执行javascript文件?

时间:2016-02-03 07:55:28

标签: javascript jquery google-chrome-extension execute

我读了很多关于此的文件,但我无法弄明白。当点击按钮时,我需要有关执行另一个js的帮助。 test.js是我要执行的javascript文件。在该文件中只有一行代码,例如" alert(" test.js已执行!");

在我的javascript文件中,我的点击功能就是这样。

$("#src").click(function(){
    alert("hi");
});

它运作良好,我需要执行我的" test.js"脚本。像这样:

$("#src").click(function(){
    alert("hi");
    $.getScript("javascript/test.js",function(){

    })
    .success(function(){
        alert("success");
    })
    .error(function (){
        alert("Failed to execute script");
    });
});

但没有任何反应。没有错误。如何通过点击执行该脚本?

1 个答案:

答案 0 :(得分:1)

这将属于eval的使用范围,因为这正是getScript所做的。

这是not allowed by the default Chrome extension CSP,这是有充分理由的。

您可能会争辩说,如果您的扩展程序中包含该脚本,则安全风险不存在,您可以覆盖CSP以允许该操作。虽然它很糟糕但很草率。

理想情况下,您只想在页面中添加带有test.js标记的<script>,然后在其中调用一些函数。可能需要对文件进行一些修改,但这是正确的方法。

如果绝对每次都需要执行整个test.js(尽管没有理由),请创建并附加<script>元素src适当地设定。这不违反CSP。