0
Google Webアプリには、AJAX経由でデータが取り込まれたHTMLダッシュボードが表示されています。スプレッドシートはGoogleフォームを使用して作成されたもので、10秒ごとにデータ(模擬選挙結果)を更新して、教師が実際の結果を見ることができるように投票が行われるようにしたいと思います。Google Apps Script webappを自動的に更新します
code.gs
function getData() {
var sheet = ss.getSheets()[3];
var data = sheet.getDataRange().getValues();
Logger.log(data);
return JSON.stringify(data);
}
function doGet() {
return HtmlService
.createTemplateFromFile("index")
.evaluate();
}
HTMLテンプレート、私はそれを把握することはできませんどのような
function popularVote(data) {
var getDivs = document.getElementsByClassName("percent");
var data = JSON.parse(data);
for(var j=0;j<getDivs.length;j++) {
getDivs[j].textContent = ((data[j][1]/data[j][2]) * 100).toFixed(1) + "%";
}
}
google.script.run.withSuccessHandler(popularVote).getData();
<div class="card" id="popular">
<div class="cand" id="cand1">
<h2>Candidate:</h2><span class="percent">Loading...</span>
</div>
<div class="cand" id="cand2">
<h2>Candidate:</h2><span class="percent">Loading...</span>
</div>
<div class="cand" id="cand3">
<h2>Candidate:</h2><span class="percent">Loading...</span>
</div>
</div>
が実際に何をされています
ここでは、関連するアプリの一部ですデータをプルします。成功ハンドラーがサーバーをポーリングしていますか?それとも、クライアント側のスクリプトですか?どこにUtilities.sleep
またはそれに類するものを含めるべきですか?
'setTimeout'は10秒後に1回実行しましたが、それは私を' setInterval'に導きました。これは素晴らしい動作です。ありがとう。 – Brian
母、こんにちは。代わりにsetIntervalを使用するように答えを更新しました。 –