GUIビルダーを使用して、かなり基本的なダイアログフォームを作成しました。ただし、スライダーウィジェットをフォームに配置したいと思います。(聞かないで!)
jQuery UI ライブラリにはスライダーがありますが、すべての jQuery スクリプトと css をテンプレートにロードするには、ページ生成用の UI サービスではなく HTML サービスに切り替える必要があるようです。
現時点では、Gui ビルダー フォームは正常に動作しており、次のようなものを実行しています。
function doGet(e) {
var app = UiApp.createApplication();
app.add(app.loadComponent("DocEditorGui"));
return app;
}
そして、私はこのように引き込むことができるhtmlページにjQueryスライダーを持っています;
function doGet(e) {
return HtmlService.createHtmlOutputFromFile('mySliderWidget');
}
ただし、HTML ファイルの使用は app.createHTML() HTML タイプのウィジェットと互換性がないようです。HTMLoutput コンテンツを渡しても何も表示されません。Logger.log が正しい jQuery と html を示しているため、HTML は確実に処理されます。
var t = HtmlService.createHtmlOutputFromFile('mySliderWidget');
var widgetHTML = container.createHTML(t.getContent());
widgetHTML.setStyleAttribute("background", "green");
Logger.log( t.getContent() );
vPanel.add(widgetHTML );
ただし、jQuery のすべての id タグが取り除かれているように見えるため、おそらくこれも caja によって検出されています。HTML が追加されましたが、jQuery ではすべて壊れています。
このユースケースの例はありますか、それとも、このようなことを試すには時期尚早ですか?
テストケースとして、このjQueryスライダーの例; http://pastebin.com/bnY7PhCL
ここのカハ遊び場で実行されます。 http://code.google.com/p/google-caja/wiki/CajaPlayground
ただし、上記の HTML ウィジェットでは実行されません。