2010-10-08 74 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