javascript - 离线加载本地JSON文件

标签 javascript jquery json offline

所以我有一个客户想要一个网站,该网站不托管在任何地方,但可以通过浏览器在本地访问(文件夹中的 html 文件)。现在棘手的部分是他们想在浏览器中自己更改此网站。所以我认为最好的方法是在本地进行配置。我创建了一个 config.json 并继续获取它:

$.getJSON("config.json", function(config){
    //use config to alter the site
});

我发现here然而,现代浏览器会阻止此类请求,因为它被认为是不安全的。例如 Chrome 说:

Cross origin requests are only supported for protocol schemes: http, data, chrome, chrome-extension, https.

现在的问题是:我怎样才能有一个文件来存储我的配置,以便 Javascript/jQuery 可以加载它。有没有办法要求用户允许文件访问?有没有一种完全不同的方法来完成这一切,更适合这项任务?

我期待任何建议,只要它是离线兼容的!

最佳答案

最简单的解决方案:重命名config.jsonconfig.js为了保持一致性

现在,如果 JSON 是

{
    "configKey1": "value1"
}

将 json 包装在函数中,

function getconfig() { 
    return {
        "configKey1": "value1"
    };
}

现在,只需 <script src="config.js">在您的 HTML 中

然后,当您想获取配置时...调用 getconfig阅读它

let config = getconfig();

关于javascript - 离线加载本地JSON文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50204660/

相关文章:

Javascript:对象是元素数组吗

javascript - Ajax.Request 不适用于 IE8/9 中的 CORS,静默失败

javascript - 如何获取不同复选框的值并计算那些选中的复选框的值并显示在输入字段中?

javascript - jQuery div 扩展高度不起作用

javascript - Json 获取的对象显示未定义

iPhone 4 在 Web View 中将 JSON 字符串传递给 Javascript

javascript - 使用 Jquery 验证所有堂兄输入元素

javascript - 如何解决未捕获的类型错误 : Cannot read property 'length' of undefined of my Global varible?

c# - 如何在javascript中的onclick函数触发之前运行href ="#var=something"?

python - pytest 参数化 fixture - 来自 json 的参数?