将可变Google Apps脚本传递给HTML

时间:2017-08-21 16:21:09

标签: html variables

我想传递变量' MyLink'从Google脚本代码到HTML代码。

这是GS代码。

 function FirstView(){  
 var ss = SpreadsheetApp.getActiveSpreadsheet();
 var MyNewBook = ss.copy("A Copy of " + ss.getName());
 var MyLink = MyNewBook.getUrl()

 var html = HtmlService.createHtmlOutputFromFile('Index');
 SpreadsheetApp.getUi().showModalDialog(html, "hello");
 }

 function DOUBLE() {
 var linkButton = document.getElementById("link-button");
linkbutton.setAttribute('href', MyLink);
}

这是HTML代码。

<html>

<head>
<base target="_top">
</head>
<body 
onload="DOUBLE();">
Click <a id="link-button">here</a>
<input type="button" value="Close" onclick="google.script.host.close()" />
</body>

</html

代码将显示一个包含&#39; MyLink&#39;的对话框。 URL。谢谢您的帮助。

2 个答案:

答案 0 :(得分:0)

我会使用以下链接更新href:

var ss = SpreadsheetApp.getActiveSpreadsheet();
     var MyNewBook = ss.copy("A Copy of " + ss.getName());
     var MyLink = MyNewBook.getUrl()

var linkButton = document.getElementById("link-button");
linkButton.setAttribute('href', MyLink);

然后将id添加到锚点:

Click <a id="link-button">here</a>

<强>更新

创建函数以在链接中设置href:

initFunction() {
    var linkButton = document.getElementById("link-button");
    linkButton.setAttribute('href', MyLink);
}

调用body标签的函数onload:

<body onload="initFunction();">

答案 1 :(得分:0)

您只需按id选择元素并修改其href

即可

Reference

&#13;
&#13;
var ss = SpreadsheetApp.getActiveSpreadsheet();
var MyNewBook = ss.copy("A Copy of " + ss.getName());
document.getElementById("link").href = MyNewBook.getUrl()
&#13;
<html>

<head>
  <base target="_top">
</head>

<body>
  Click <a id="link" href="**MyLink**">here</a>
  <input type="button" value="Close" onclick="google.script.host.close()" />
</body>

</html>
&#13;
&#13;
&#13;