google.script.history.replace()
で実現できました。
こういうことを実現したい
HtmlServiceのWebアプリのURL
https://script.google.com/macros/s/ID/exec
ページ遷移を発生させずパラメーターを追加したい
https://script.google.com/macros/s/ID/exec?id=1&value=hello
試してみると、history.pushState() や history.replaceState() では変更できなかった。
さらに調べてみると Class google.script.history (Client-side API) が見つかりました。
google.script.history.push() と google.script.history.replace() で実現できました。
pushとreplaceの違いはリファレンスを参照してください。
今回は replace() を使ったコードを書きました。
コード.gs
function doGet() {
return HtmlService.createHtmlOutputFromFile("index");
}
|
意訳この機能がやること 指定したHTMLファイルを表示する |
index.html
<!DOCTYPE html>
<html>
<body>
<script>
replaceParam();
function replaceParam() {
var params = {
"id": 1,
"value": "hello"
};
google.script.history.replace("", params, "");
}
</script>
</body>
</html>
|
参考
Class google.script.history (Client-side API)
History API を取り扱う