当权者要求我对此进行调查,尽管我认为这是不可能的,但我想在返回给他们之前先确定一下。不要问我他们为什么要这个哈哈
他们希望能够使用在变量中定义的 JavaScript。让我解释一下...
假设您有这个变量:
var testvar = "function dan() { alert('hello world'); }";
他们希望能够调用 dan()
并在网页中弹出警报。像这样的东西似乎不可用(当然)。
var importjs = document.createElement('script');
importjs.src = testvar;
document.getElementsByTagName("head")[0].appendChild(importjs);
我可以用来解释为什么它不可行的任何想法或行话。我认为这本质上是一个跨源问题。我们的解决方案要求用户安装使用网络套接字的软件。该软件对JS进行文件GET,然后我们想在浏览器中使用JS。
最佳答案
您应该将脚本元素的 innerHTML
设置为您的字符串。 script
元素的 src
应该只用于加载外部脚本。
var testvar = "function dan() { alert('hello world'); }";
var importjs = document.createElement('script');
importjs.innerHTML = testvar;
document.getElementsByTagName("head")[0].appendChild(importjs);
dan();
关于javascript - 添加包含在变量中的 JavaScript 作为脚本元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51989228/