我使用应用脚本创建了一个网站。
我需要表格每 3 秒自动刷新一次。 (只是表格而不是整个页面)
我该怎么做?
这是我的代码:
<script>
document.addEventListener("DOMContentLoaded",function(){
google.script.run.withSuccessHandler(generateTable).getOnline();
google.script.run.withSuccessHandler(getOnline).generateTable();
});
function generateTable(dataArray){
var tbody = document.getElementById("tablebody");
dataArray.forEach(function(r){
var row = document.createElement("tr");
var col1 = document.createElement("td");
col1.textContent = r[0];
var col2 = document.createElement("td");
col2.textContent = r[1];
var col3 = document.createElement("td");
col3.textContent = r[2];
row.appendChild(col1);
row.appendChild(col2);
row.appendChild(col3);
tbody.appendChild(row);
});
}
</script>
table {
font-family: arial, sans-serif;
border-collapse: collapse;
width: 100%;
}
td, th {
border: 1px solid #dddddd;
text-align: left;
padding: 8px;
}
th {
padding-top: 12px;
padding-bottom: 12px;
text-align: left;
background-color: teal;
color: white;
}
tr:nth-child(even) {
background-color: #dddddd;
}
tr:hover {background-color: #f5f5f5;}
<h1>? Current Users</h1>
<table>
<tr>
<th>Name</th>
<th>Last Name</th>
<th>EID</th>
</tr>
<tbody id="tablebody">
</table>
表格正文中的值来自我的电子表格。但显然,每次我在电子表格中输入一些值时,我仍然需要刷新整个页面才能看到表格中的值。我该怎么做?太感谢了!新年快乐。
答案 0 :(得分:1)
document.addEventListener("DOMContentLoaded",function(){
setInterval(() => {
google.script.run.withSuccessHandler(generateTable).getOnline();
google.script.run.withSuccessHandler(getOnline).generateTable();
}, 3000); // run the function every 3 seconds
});
您可以考虑使用 setInterval
方法每 3 秒刷新一次表的数据源。文档:https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/setInterval
答案 1 :(得分:0)
我正在复制同一个脚本并进行一次更改。
document.addEventListener("DOMContentLoaded",function(){
setInterval(() => {
document.getElementById("tablebody").innerHTML = "";
google.script.run.withSuccessHandler(generateTable).getOnline();
google.script.run.withSuccessHandler(getOnline).generateTable();
}, 3000); // run the function every 3 seconds
});
你可以这样做。