所以我有一个客户想要一个网站,该网站不托管在任何地方,但可以通过浏览器在本地访问(文件夹中的 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.json
至config.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/