将变量中包含的JavaScript作为脚本元素添加

时间:2018-08-23 15:24:32

标签: javascript html variables cors createelement

要我研究一下这些能力,我认为在回到它们之前我无法确定。不要问我为什么他们要这个哈哈

他们希望能够使用在变量中定义的JavaScript。让我解释一下...

假设您有此变量:

var testvar = "function dan() { alert('hello world'); }";

他们希望能够呼叫dan()并在网页中弹出警报。像这样的东西似乎不可用(当然)。

var importjs = document.createElement('script');
importjs.src = testvar;
document.getElementsByTagName("head")[0].appendChild(importjs);

我可以用来解释为什么它不可行的任何想法或行话。我认为这本质上是一个跨源问题。我们的解决方案要求用户安装使用Web套接字的软件。该软件为JS执行GET文件,然后我们要在浏览器中使用JS。

1 个答案:

答案 0 :(得分:2)

您应该将脚本元素的innerHTML设置为您的String。 src元素的script仅应用于加载外部脚本。

var testvar = "function dan() { alert('hello world'); }";
var importjs = document.createElement('script');
importjs.innerHTML = testvar;
document.getElementsByTagName("head")[0].appendChild(importjs);
dan();