首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >OSX/Mac中的附加持久设置

OSX/Mac中的附加持久设置
EN

Stack Overflow用户
提问于 2016-08-02 09:20:21
回答 1查看 145关注 0票数 2

我很难找到一种方法来存储office.js外接程序在Mac上的持久设置。

在windows上,localStorage工作得很好,因为它保存了通过关闭和打开单词而持续存在的设置。

在Mac localStorage上,即使是通过刷新或关闭和打开外接程序,也不会坚持关闭和打开单词。

下面是一个简单的代码示例:

代码语言:javascript
复制
var settingString = 'mySetting';
var oldValue = localStorage.getItem(settingString);
write('oldValue: "' + oldValue + '"');
var d = new Date();
var newValue = d.getHours() + ':' + d.getMinutes() + ':' + d.getSeconds();
localStorage.setItem(settingString, newValue);
write('newValue: "' + newValue + '"');
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-08-02 17:19:50

iOS目前有一个bug,它阻止我们解决这个localStorage问题。同时,您有两个潜在的解决办法:

Cookies

如果希望在文档中持久化设置,请使用JavaScript cookies (w3schools文档),直到错误得到修复为止:

代码语言:javascript
复制
var settingString = 'mySetting';
var oldValue;
var myCookies = document.cookie.split(';');
for(var i = 0;i < myCookies.length;i++){
    var myCookie = myCookies[i].trim();
    if(myCookie.indexOf(settingString + "=") == 0){
        oldValue = myCookie.substring(settingString + 1,myCookie.length);
    }
}
write('oldValue: "' + oldValue + '"');
var d = new Date();
var newValue = d.getHours() + ':' + d.getMinutes() + ':' + d.getSeconds();
var expiry = d.setTime(d.getTime() + (14 * 86400000)); // # milliseconds in a day
document.cookie = settingString + "=" + newValue + "; expires=" + expiry.toGMTString();
write('newValue: "' + newValue + '"');

设置

如果仅在当前文档中持久化该值就足够了,则可以使用Office (Office.js设置对象文档):

代码语言:javascript
复制
var settingString = 'mySetting';
var oldValue = Office.context.Settings.get(settingString);
write('oldValue: "' + oldValue + '"');
var d = new Date();
var newValue = d.getHours() + ':' + d.getMinutes() + ':' + d.getSeconds();
Office.context.Settings.set(settingString, newValue);
Office.context.Settings.saveAsync(function(asyncResult){
    write('newValue: "' + newValue + '"');
});

-Michael Saunders,Office外接程序的程序经理

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38716476

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档