2010-10-08 55 views
1

我只是试图读取谷歌小工具中的用户布尔首选项,但似乎首选项永远不会得到保存,我只能得到任何default_value是。我把它分解成一个非常简单的测试用例。这里是我的测试小工具规范:谷歌小工具布尔首选项似乎不工作

<?xml version="1.0" encoding="UTF-8" ?> 
<Module> 
    <ModulePrefs title="Gadget to test bool"> 
    </ModulePrefs> 
    <UserPref name="testpref" display_name="Test Boolean Preference" default_value="true" datatype="bool" /> 
    <Content type="html"> 
    <![CDATA[ 
    <script type="text/javascript"> 
     var prefs = new gadgets.Prefs(); 
     alert(prefs.getBool('testpref')); 
    </script> 
    ]]> 
    </Content> 
</Module> 

我希望看到的是与truefalse警报在它无论用户在Preferences对话框中选择了。但是,用户的偏好被完全忽略,并未保存,甚至我的默认值也未显示在首选项中。当我为默认值指定true时,首选项复选框保持未选中状态。

我错过了什么?

编辑:我试图在Google Apps Google协作平台启动页面上使用此工具。

+0

此示例似乎适用于iGoogle。当然,现在我觉得*我失去了一些东西。你在其他的小工具容器实施吗? – 2010-10-13 01:11:06

+0

很奇怪!我正在Google Apps Google网站首页上测试此功能,但该功能无效。 – Brad 2010-10-13 16:04:48

回答

2

我在iGoogle中测试了您的示例代码,它似乎正常工作。这是一个可以选中或取消选中的框,并且警报以正确的值触发。

据我所知,某些类型的小工具容器不允许用户首选项 - 因此,在iGoogle中工作的小工具在标准Google协作平台页面(除了用户可定制类型页面之外)无法正常工作。

iGoogle的代码“无法工作”的另一个常见问题是缓存小工具代码。要强制小工具不缓存,请在小工具网址中添加“?nocache”...

+0

谢谢Michal。我一直在使用nocache。您提到它不适用于Google协作平台网页......这是否也适用于Google协作平台的首页作为Google Apps的一部分?这是记录在任何地方?再次感谢您的回复。 – Brad 2010-10-13 16:06:02

+0

我想我应该澄清,在Google网站中,您可以设置的唯一UserPref是将小工具添加到页面时。因此,编辑页面和添加小工具的人可以调整UserPref中指定的小工具上的设置,但是如果其他用户访问该页面,他们将看到的所有内容都是“静态”小工具,并且他们将无法对其设置任何首选项 - 首选项将默认为页面创建者设置的内容。我不是100%确定Google Apps网站“开始”页面的含义 - 在登录时显示mysites的页面?或您创建的网站的第一页? – Michal 2010-10-13 20:39:44

+0

除了用户可以添加自己的内容(几乎与iGoogle页面相同)之外,Google Apps网站的“起始页”不过是常规的Google协作平台页面。静态内容的顶部有一个区域,用户可以在其下面添加任何他们想要的区域。更多信息:http://www.google.com/support/a/bin/answer.py?hl=zh_CN&answer=180378 – Brad 2010-10-15 13:23:34