我已经使用 GUI 构建器制定了一个相当基本的对话框表单。但是我想在表单中放置一个滑块小部件。(不要问!)
jQuery UI 库有一个滑块,但似乎为了将所有 jQuery 脚本和 css 加载到模板中,我必须切换到 HTML 服务而不是 UI 服务来生成页面。
目前我的 Gui builder 表单工作正常,运行类似这样的东西;
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 类型小部件不兼容,因为如果我传递 HTML 输出内容,则不会显示任何内容。肯定会处理 HTML,因为 Logger.log 显示正确的 jQuery 和 html。
var t = HtmlService.createHtmlOutputFromFile('mySliderWidget');
var widgetHTML = container.createHTML(t.getContent());
widgetHTML.setStyleAttribute("background", "green");
Logger.log( t.getContent() );
vPanel.add(widgetHTML );
但是大概这也被 caja 捕捉到了,因为效果似乎正在剥离 jQuery 的所有 id 标签。添加了 HTML,它对于 jQuery 来说全都坏了。
有这个用例的例子,还是我太早尝试这样的事情?
作为一个测试用例,这个 jQUery 滑块示例; http://pastebin.com/bnY7PhCL
跑在这里的卡哈游乐场; http://code.google.com/p/google-caja/wiki/CajaPlayground
但不能在上面的 HTML 小部件下运行。