我想构建一个可以离线使用的 Microsoft Office 2016 插件(至少在在线使用一次之后)。
我知道我们可以像普通浏览器一样缓存 HTML、js 等,我曾想过使用本地 HTTP 服务器(不随加载项分发),以便插件可以与其通信。但是做这样的事情:
var xmlHttp = new XMLHttpRequest();
xmlHttp.open("GET", "http://localhost:8080", true);
xmlHttp.onreadystatechange = function(aEvt) {
if (xmlHttp.status == 200) {
console.log(xmlHttp.responseText);
} else {
console.log("Status:" + xmlHttp.statusText);
}
};
xmlHttp.send();
Run Code Online (Sandbox Code Playgroud)
这失败了:
JavaScript 运行时错误:访问被拒绝。
如果我使用 HTTPS URL(到适当的服务器),它就可以工作。
我认为加载项只允许 HTTPS 而不允许 HTTP 请求?
什么是最好的通信方式,而不是通过 Internet 上的外部 HTTPS,Office 2016 加载项与机器中的另一个进程?
是否可以放宽清单上的安全性(我还没有找到方法)并允许 HTTP 请求localhost?
office-js ×1