在Google上下文小工具中保存UserPref

时间:2013-06-06 15:42:25

标签: javascript jquery gmail-contextual-gadgets

我正在写gmail contextual gadget。 穿过这个雷区后,我遇到了一个其他人似乎没有的问题,我的UserPreferences只保存页面刷新,如果我只是导航回收件箱和另一封电子邮件,他们就被遗忘了。 我启用了用户prefs:

<Require feature="setprefs"/>

他们看起来像这样:

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

我尝试使用和不使用模块ID初始化我的prefs:

var prefs = new gadgets.Prefs();

var prefs = new gadgets.Prefs(__MODULE_ID__);

我甚至强迫用iframe /小工具上的javascipt进行刷新,这也不起作用,让我相信问题是谷歌为我缓存旧数据而不是保存它直到页面关闭,如果没有任何意义。

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

1 个答案:

答案 0 :(得分:2)

嗯,我不希望得到答案,所以这里是我遇到其他任何人的解决方案:

Google在浏览收件箱,发送,垃圾箱,个人邮件等时确实会缓存UserPref的所有数据。

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

没有关于此的文档,也许谷歌将来会改变这一点,所以如果有人找到解决方案,请在此处发布,以供社区使用。 谢谢