1

Googleガジェットでユーザーのブール設定を読み取ろうとしているだけですが、設定がまったく保存されていないようで、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>

私が期待しているのは、ユーザーが設定ダイアログで選択したものを含む、trueまたはその中にあるアラートです。falseただし、ユーザーの設定は完全に無視され、保存されず、デフォルト値でさえ設定に表示されません。デフォルト値にtrueを指定すると、設定チェックボックスはオフのままになります。

私は何が欠けていますか?

編集:これをGoogleAppsGoogleサイトのスタートページで機能させようとしています。

4

1 に答える 1

2

サンプルコードをiGoogleでテストしましたが、正しく機能しているようです。つまり、ボックスをオンまたはオフにすることができ、アラートは正しい値で発生します。

私の知る限り、特定の種類のガジェットコンテナではユーザー設定が許可されていないため、iGoogleで機能するガジェットは標準のGoogleサイトページでは正しく機能しません(ユーザーのカスタマイズ可能なタイプのページを除く)。

iGoogleでコードが「機能しない」場合のもう1つの一般的な問題は、ガジェットコードのキャッシュです。ガジェットを強制的にキャッシュしないようにするには、ガジェットのURLに「?nocache」を追加します。

于 2010-10-13T01:29:56.510 に答える