【问题标题】:HTML5 LocalStorage store executable scriptsHTML5 LocalStorage 存储可执行脚本
【发布时间】:2015-08-27 03:24:08
【问题描述】:

我正在开发包含它自己的本地 html 和 JS 文件的混合应用程序。但是,有时需要从服务器加载一些小的可执行 JS 脚本甚至 CSS。目前我正在使用$.getScript 进行操作,并且效果很好。

为了使应用程序能够离线工作,我正在考虑使用 Angular 缓存来存储 json 数据和图像。但是,如何使用 localStorage 存储可执行脚本,以便以后在离线模式下使用?

【问题讨论】:

    标签: javascript jquery angularjs html cordova


    【解决方案1】:

    LocalStorage 存储文本,因此您确实可以在其中存储 JS 代码(只是文本)。

    您只需从 LocalStorage 加载它,然后使用 eval() 执行它或创建一个 <script> 标记并将脚本插入其中。

    这是一个工作示例:http://jsfiddle.net/jfriend00/1rLcaroc/

    而且,代码是这样的:

    var str = "alert('hello');";
    
    document.getElementById("test").addEventListener("click", function() {
        localStorage.setItem("code", str);
    
        var code = localStorage.getItem("code");
        eval(code);
    });
    

    【讨论】:

    • 非常感谢您的回答。最好有一个例子来展示如何做以便更好地理解。
    • @user1995781 - 你不明白哪一部分?从 LocalStorage 读取/写入/写入?使用eval()?
    • @user1995781 看看documentation for eval。在极少数情况下您应该使用它。
    猜你喜欢
    • 1970-01-01
    • 2011-10-04
    • 2018-08-13
    • 2023-03-08
    • 1970-01-01
    • 2011-03-06
    相关资源
    最近更新 更多