2012-05-18 5 views
0

Google App 스크립팅에 진행률 표시 줄을 만들려고합니다. 어떤 경우에는 버튼을 클릭하면 (Go) 자동으로 천천히 시작됩니다. Firefox 다운로드 창에서 볼 수 있습니다. 이것은 내 코드입니다.Google App Scripting Progress Bar

function doGet(e) { 
    var app = UiApp.createApplication(); 
    var progressPanel = app.loadComponent("progressbar_auto"); 
    var gobutton =app.getElementById("go_btn"); 

    var go_btn_handler =app.createServerHandler("updateProgressbar"); 
    go_btn_handler.addCallbackElement(gobutton); 
    gobutton.addClickHandler(go_btn_handler) 


    app.add(progressPanel); 
    return app; 
} 
//function time(i){ 
// Utilities.sleep(5); 
// } 
function updateProgressbar(){ 
    var app = UiApp.getActiveApplication() 

    for(var i =1 ; i < 250 ; i++){ 

    app.getElementById("progress").setWidth(i + 'px'); 
    time(); 
    } 
Logger.log(i); 
    return app; 

} 

그러나 & 매우 빠른이 진행 표시 줄이 매우 빠르게 완료 실행됩니다 루프이 코드에 따라. 이것을 늦출 수있는 방법이 있습니까?

여기에서 내 애플리케이션을 찾을 수 있습니다.

https://sites.google.com/a/macros/dewdynamics.net/exec?service=AKfycbztKB_ljMBGi_55RrK_DH3x_pRZQ993bDoAHSsxDA

진행 표시 줄을 제어하기 위해, 슬라이드 막대를 추가 할 수있는 방법이 있습니까. 뭔가 우리는 PHP 나 HTML 5에

감사

답변

0

아니, 애플리케이션 스크립트에 진행률 표시 줄을 할 수있는 실제 방법이없는 작업을 수행 할 수 있습니다.

몇 가지 해결 방법이 있습니다. 같은 버튼에 여러 개의 핸들러를 추가 할 수 있으며 각각의 슬립 타임마다 다른 GUI를 여러 번 업데이트 할 수 있습니다. 또는 대부분의 경우 클라이언트 처리기 (즉각적인 피드백)에서 끝없는 진행 gif 애니메이션을 표시하고 두 번째 핸들러가 끝난 후 실제로 작업을 수행하는 ServerHandler를 사용하여 이미지를 숨기고 결과를 반환합니다.

+0

제안 해 주셔서 감사합니다. 클라이언트 처리기에서 애니메이션 gif를 사용해 보겠습니다. –

+0

어떻게 그 일을 Henrique겠습니까? "다중 핸들러"란 무엇입니까? 코드 스 니펫이 있습니까? –

+0

@Trevor 글쎄, 그냥 핸들러를 만드는 방법을 알고 있다고 가정하면'btn.addClickHandler (handler1) .addClickHandler (handler2)'를 추가하면된다.'handler1 = app.createServerHandler ('functionA')'. 어쨌든,이 답변은 매우 오래된 것으로 HtmlService는 실제 진행률 막대가 실제로 필요한 경우 더 좋은 아이디어 일 수 있습니다. –

1

왜이 경우 HtmlServices를 사용하지 마십시오. 시도해보십시오. Click Here

jquery를 사용하여 구현할 수 있습니다.