如何在localStorage中保存JavaScript代码并在以后执行?
我想知道是否有可能保存一些js代码,然后将其拉出来执行 我基本上面临两个问题:如何在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
- 如何字符串化javascript代码
- 如何执行字符串化的javascript代码
标记中
这适用于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中,不可能将文本节点作为子节点附加到这些元素。