2012-07-02 3 views
1

GUI 빌더를 사용하여 상당히 기본적인 대화 상자 양식을 만들었습니다. 그러나 양식에 슬라이더 위젯을 넣고 싶습니다. (묻지 말것!)GUI 생성을 위해 jQuery와 UiInstance를 혼합하는 방법

jQuery UI lib에는 슬라이더가 있지만 모든 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 파일을 사용하여 나는 HTMLoutput 내용을 전달하면 그 아무것도 표시되면 app.createHTML() HTML 형식 위젯과 호환되지 않는 것 같다. Logger.log가 올바른 jQuery와 html을 보여주기 때문에 HTML은 확실히 처리됩니다. 효과가 jQuery를위한 ID 태그의 모든을 제거 할 수 나타나기 때문에

var t = HtmlService.createHtmlOutputFromFile('mySliderWidget'); 
var widgetHTML = container.createHTML(t.getContent()); 
widgetHTML.setStyleAttribute("background", "green"); 
Logger.log(t.getContent() ); 
vPanel.add(widgetHTML); 

는 그러나 아마도 이것은 또한 카하에 걸려지고 있습니다. HTML이 추가되었습니다. jQuery에서 모두 깨졌습니다.

이 유스 케이스에 대한 예가 있습니까? 아니면 이런 식으로 시도하기에는 너무 빠르지 않습니까?

테스트 케이스로,이 jquery 슬라이더 예제; http://pastebin.com/bnY7PhCL

여기에 caja 놀이터에서 실행됩니다. http://code.google.com/p/google-caja/wiki/CajaPlayground

위의 HTML 위젯에서는 실행되지 않습니다.

답변

3

app.createHTML은 Caja를 사용하지 않습니다. 그것은 작은 부분 집합을 제외한 모든 HTML을 제거합니다. 당신은 여기에 문서에서 볼 수 있습니다

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

는 모든 스크립트 태그를 떼어 내고있다.

HtmlService는 app.createHTML 위젯이 아닙니다. 그것은 완전히 새로운 API이며 전체 앱을 그런 방식으로 구축해야합니다. HtmlService의 jQuery에 대한 지원을 UiApp과 결합하여 일치시킬 수있는 방법은 없습니다. 그것은 하나 또는 다른 것입니다.

+0

역순으로 앱 스크립트 위젯을 HTML 서비스로 가져 오는 범위가 있습니까? 예를 들어, 차트를 표시하려면 id를 사용하지만 예제는 모두 UiApp을 기반으로합니다. –

+0

없습니다. 그러나 HtmlService에 대한 차트 지원은 가까운 장래의 로드맵에 있습니다. –

+0

UiApps 및 html 서비스에서 가제트를 지원하는 것이 멋진 일이라고 생각합니다. 실제로 가젯이 문서 문서에서도 지원된다면 도움이 될 것입니다. 그 이유는 R 통계 차트 및 화학 구조 다이어그램과 같은 임의의 차트와 표현을 문서에 삽입 할 수있는 범위가 있기 때문입니다. 방정식으로 MathJax를 좋아해요. 그 중 하나를 멋지게 감싸고 큰 방정식을 조판하는 데 사용할 수 있습니다 ... –

관련 문제