Javascript Eval /从输入框执行代码

时间:2014-10-16 15:44:38

标签: javascript google-chrome-extension compilation eval

编辑:它是谷歌扩展程序中的弹出窗口。

我想从输入框执行代码..

function jsinjector() {
    var jsinjectinvar = document.getElementById("jsinjectin").value;
    eval(jsinjectionvar);       
}

输入框和按钮:

<input type="text" id="jsinjectin" name="jsinjectin" class="javascriptinject" />

<input type="button" class="javascriptinject" name="jsinjectsub" id="jsinjectsub" value="Inject" onmouseup="jsinjector();" />

Eval没有用,所以出了什么问题?

-Thanks,初学者Sam

2 个答案:

答案 0 :(得分:0)

出于安全考虑,Chrome扩展程序具有沙盒系统(如果没有正确使用,eval是黑客打开的大门),请参阅Using eval in Chrome Extensions. Safely.

答案 1 :(得分:0)

您可以通过setting the content security policy在您的分机中启用eval来允许它。

"content_security_policy": "script-src 'self' 'unsafe-eval'; object-src 'self'"

但是,请完整阅读上面链接的页面,了解为什么它不是一个非常好的(虽然有时是有效的)想法。