Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在localStorage中保存JavaScript代码并在以后执行?_Javascript_Jquery_Local Storage - Fatal编程技术网

如何在localStorage中保存JavaScript代码并在以后执行?

如何在localStorage中保存JavaScript代码并在以后执行?,javascript,jquery,local-storage,Javascript,Jquery,Local Storage,我想知道是否有可能保存一些js代码,然后将其拉出来执行 我基本上面临两个问题: 如何字符串化javascript代码 如何执行字符串化的javascript代码 您应该能够检索文本blob并将其动态放置在标记中 这适用于Chrome和MSIE 9控制台-我还没有尝试Firefox: var s = document.createElement('script'); s.appendChild(document.createTextNode('alert("hello")')); documen

我想知道是否有可能保存一些js代码,然后将其拉出来执行

我基本上面临两个问题:

  • 如何字符串化javascript代码
  • 如何执行字符串化的javascript代码

您应该能够检索文本blob并将其动态放置在
标记中

这适用于Chrome和MSIE 9控制台-我还没有尝试Firefox:

var s = document.createElement('script');
s.appendChild(document.createTextNode('alert("hello")'));
document.head.appendChild(s);

至于字符串化代码,通常可以在用户提供的函数上调用
myFunction.toString()

@Imp因为
eval
是邪恶的,几乎总是可以避免的。我们的目标是QT webkit,所以如果它在chrome上工作,它在大多数情况下也应该对我们有用。您认为可以在整个Javascript MVC类上使用
.toString()
吗?或者您建议将它们包装成一个函数并使用
myFn.toString()
?@shershams dunno-建议您试试看!;-)请注意,任何包装在立即调用的函数表达式中的东西都不会起作用-您需要函数的某种句柄。@Alnitak但是为什么
eval
是邪恶的呢?因为有人这么说?不,这是因为为恶意代码打开了空间。但在这种情况下,您正在下载自己的代码,如果将其放入
eval
中,则完全没有区别。此外,
eval
在所有浏览器中都得到了很好的实现-另一方面,动态添加带有
标记的脚本在不同的浏览器上的效果略有不同(错误的方式,代码不会执行)。IE以特殊的方式处理
标记,因为它们不代表页面的可见元素。在IE中,不可能将文本节点作为子节点附加到这些元素。