在我的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");
});
});
但没有任何反应。没有错误。如何通过点击执行该脚本?
答案 0 :(得分:1)
这将属于eval
的使用范围,因为这正是getScript
所做的。
这是not allowed by the default Chrome extension CSP,这是有充分理由的。
您可能会争辩说,如果您的扩展程序中包含该脚本,则安全风险不存在,您可以覆盖CSP以允许该操作。虽然它很糟糕但很草率。
理想情况下,您只想在页面中添加带有test.js
标记的<script>
,然后在其中调用一些函数。可能需要对文件进行一些修改,但这是正确的方法。
如果绝对每次都需要执行整个test.js
(尽管没有理由),请创建并附加<script>
元素src
适当地设定。这不违反CSP。