3

我正在写一个gmail 上下文小工具。穿过这个雷区后,我陷入了一个似乎没有人遇到的问题,如果我只是导航回收件箱和另一封被遗忘的电子邮件,我的 UserPreferences 只会保存在页面刷新时。我启用了用户首选项:

<Require feature="setprefs"/>

它们看起来像这样:

<UserPref name="enabled"
    datatype="hidden"
    default_value="true">
</UserPref>

我尝试使用和不使用模块 id 初始化我的首选项:

var prefs = new gadgets.Prefs();

或者

var prefs = new gadgets.Prefs(__MODULE_ID__);

我什至在 iframe/gadget 上强制使用 javascipt 进行刷新,但这也不起作用,这让我相信问题在于谷歌为我缓存旧数据并且在页面关闭之前不保存它,如果这有任何意义的话.

/?nogadgetcache=1/在我的网址中使用

4

1 回答 1

2

好吧,我不期待答案,所以这是我为遇到此问题的其他人提供的解决方案:

在浏览收件箱、已发送、垃圾箱、单个邮件等时,Google 确实缓存了 UserPrefs 的所有数据。

保存 UserPrefs 后,它们会正确发送到 Google 的服务器,但最后一次拉取将保留在缓存中,因此无法进行刷新。除非必要,否则我减少了对 UserPrefs 的使用,并礼貌地通知用户刷新以查看更改生效。

没有这方面的文档,也许谷歌将来会改变它,所以如果有人找到解决方案,请为了社区的利益在此处发布。谢谢

于 2013-07-09T09:19:31.490 回答