gpt4 book ai didi

javascript - Google Apps 脚本切换 html 文件

转载 作者:行者123 更新时间:2023-12-03 05:25:32 25 4
gpt4 key购买 nike

我想知道是否可以使用 google apps 脚本来显示一个 html 文件的内容返回 HtmlService.createHtmlOutputFromFile('0');,文件内有一个按钮,当按下该按钮时,它将导致屏幕删除当前信息并替换为第二个html文件返回 HtmlService.createHtmlOutputFromFile('1');。 *注意我不想链接到谷歌文档或其他网页。只是想知道是否可以在同一脚本文档中的 html 文件之间切换。如果可能的话,我的理由是有一个“菜单”页面,该页面将显示不同的主题并将所有内容保留在一个文档中以便更有条理。

最佳答案

在一定程度上是有可能的。我们将暗示有一个函数可以从 HTML 文件中获取信息,然后将其写入页面上。如果您希望能够导航,那么每个 .html您拥有的文件必须在 <script></script> 中具有以下功能

function changePage(page) {
document.open(); //should work fine without this
document.write(page);
document.close(); //should work fine without this
}

该位将处理用新内容更改整个页面的内容。现在我们需要以某种方式获取该内容。这将通过 .gs 内的函数来完成。您的 Google 脚本中的文件如下所示

function newPage(page) {
return HtmlService.createHtmlOutputFromFile(page).getContent()
}

然后在页面内部,每当您想要更改为新页面时,您都需要有一个按钮:

<button onclick="google.script.run.withSuccessHandler(changePage).newPage('success')">Next Page</button>

在本例中 newPage()函数需要一个字符串来表示 html 的名称。所以按照逻辑我们会这样做

return HtmlService.createHtmlOutputFromFile('success').getContent()`

一旦我们按下该按钮,一旦该脚本完成并返回我们想要的 HTML 字符串,我们就可以使用它来设置当前页面的 HTML。

这里是它如何工作的完整示例。您可以在 Index.html 之间导航和success.html

代码.gs

function doGet() {
return HtmlService.createHtmlOutputFromFile('Index');
}

function newPage(page) {
return HtmlService.createHtmlOutputFromFile(page).getContent()
}

Index.html

<!DOCTYPE html>
<html>
<head>
<base target="_top">
</head>

<script>
function changePage(page) {
document.open();
document.write(page);
document.close();
}
</script>

<body>
First Page
<button onclick="google.script.run.withSuccessHandler(changePage).newPage('success')">Next Page</button>
</body>
</html>

成功.html

<!DOCTYPE html>
<html>
<head>
<base target="_top">
</head>
<script>
function changePage(page) {
document.open();
document.write(page);
document.close();
}
</script>
<body>
It worked!
<button onclick="google.script.run.withSuccessHandler(changePage).newPage('Index')">First Page</button>
</body>
</html>

关于javascript - Google Apps 脚本切换 html 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41156292/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com