1

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 ウィジェットでは実行されません。

4

1 に答える 1

3

app.createHTML は Caja を使用しません。小さなサブセットを除くすべての HTML を取り除きます。ここのドキュメントで見ることができます:

https://developers.google.com/apps-script/class_html

すべてのスクリプト タグを削除します。

HtmlService は app.createHTML ウィジェットではありません。これはまったく新しい API であり、アプリ全体をそのように構築する必要があります。HtmlService の jQuery のサポートと UiApp を組み合わせて使用​​する方法はありません。それはどちらかです。

于 2012-07-02T18:57:12.430 に答える