【发布时间】:2023-03-09 06:15:01
【问题描述】:
我正在使用 HTMLService 创建一个独立的谷歌应用脚本网络应用。我希望能够编写代码来点击应用程序 HTML 页面上的链接并转到链接中的页面。很像一个普通的网页,除了作为一个谷歌网络应用程序。正常的“点击我”不起作用。
这是我正在做的事情:
Code.gs
/*
* Main function, sets up webapp ui.
*/
function doGet() {
return HtmlService.createHtmlOutputFromFile('Index')
.setSandboxMode(HtmlService.SandboxMode.IFRAME);
}
function navigateTo(url) {
return HtmlService.createHtmlOutputFromFile(url)
.setSandboxMode(HtmlSerivce.SandboxMode.IFRAME);
}
<!DOCTYPE html>
<html>
<head>
<base target="_top">
<script>
function handleNavigation() {
//Logger.log("Hello from handleNavigation, within Index.html");
google.script.run.navigateTo('EditUsers')
document.getElementById("test").innerHTML = "Success!";
}
</script>
</head>
<body>
<h1>Home</h1>
This is the beginning of the Project Status Web App<br/>
<a href="EditUsers.html">Edit Users</a><br/><button onclick="handleNavigation()">Button Time!</button>
<a id="test" href="EditProjects.html">Edit Projects</a><br/>
<a href="ViewProjectStatuses.html">View Project Statuses</a><br/>
</body>
</html>
【问题讨论】:
-
navigateTo(url)函数中不需要.setSandboxMode(HtmlSerivce.SandboxMode.IFRAME)。我会将navigateTo()的名称更改为通用名称,例如getNewHTML()