我正在写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/
答案 0 :(得分:2)
嗯,我不希望得到答案,所以这里是我遇到其他任何人的解决方案:
Google在浏览收件箱,发送,垃圾箱,个人邮件等时确实会缓存UserPref的所有数据。
当UserPrefs被保存时,它们会被正确地发送到Google的服务器,但最后一次拉动将保留在缓存中,因此无法进行刷新。除非必要,否则我减少了对UserPrefs的使用,并礼貌地通知用户刷新以使更改生效。
没有关于此的文档,也许谷歌将来会改变这一点,所以如果有人找到解决方案,请在此处发布,以供社区使用。 谢谢