0

ボタンが押されたときにすぐに色を変えるスクリプトが欲しいのですが、実際にはcopyProjectのスクリプトが完了してから色が変わります.copyProject関数は約40秒かかります

ハンドラー関数を分割して、プレス時に色を変更し、copyProject Function を実行する前に考えましたが、何かアイデアはありますか?

 function copyProject(e)
 {
     var app=UiApp.getActiveApplication();
     var button=app.getElementById("button");
     process(app,button);
     var sourceProjectID=e.parameter.id;
     copProject(sourceProjectID);
     return app.close();
 }


 function process(app,button)
 { 
     button.setStyleAttribute("color", "red").setText("Processing");
     return app;  
 }

ありがとう

4

2 に答える 2

0

処理はサーバー上で行われるため、プロセスが完了した後にのみアプリが再描画され、UI は応答しなくなります。

UI を操作してレスポンシブにする適切な方法は、UI をオンザフライで更新できるようにするクライアント ハンドラーを使用することです。また、バリデーターも調べてください。これは、サーバーに行かずに入力を処理する前に検証するのに役立ちます。

https://developers.google.com/apps-script/uiapp#ClientHandlers

https://developers.google.com/apps-script/uiapp#Validators

さらにお手伝いできることがあればお知らせください

于 2013-09-30T09:56:28.350 に答える