Javascript 将Google应用程序脚本变量传递到HTML脚本

Javascript 将Google应用程序脚本变量传递到HTML脚本,javascript,html,google-apps-script,Javascript,Html,Google Apps Script,我在Google Sheets中设置了一个触发器,以便在新的浏览器窗口中自动打开URL。如果URL是硬编码的,则此操作有效。我希望URL是一个变量。如何将URL变量从应用程序脚本传递到HTML脚本?我是一个新手,所以请像我5岁一样解释 如果URL是类似“”的文本,则此函数有效 函数openMap(){ var maplink=SpreadsheetApp.getActiveSheet().getRange(“B2”).getValues(); var js=“window.open('https

我在Google Sheets中设置了一个触发器,以便在新的浏览器窗口中自动打开URL。如果URL是硬编码的,则此操作有效。我希望URL是一个变量。如何将URL变量从应用程序脚本传递到HTML脚本?我是一个新手,所以请像我5岁一样解释

如果URL是类似“”的文本,则此函数有效

函数openMap(){
var maplink=SpreadsheetApp.getActiveSheet().getRange(“B2”).getValues();
var js=“window.open('https://www.google.com“,”空白“,”宽度=800,高度=600“;google.script.host.close();”;
var html=HtmlService.createHtmlOutput(js)
.设置高度(10)
.设置宽度(100);
SpreadsheetApp.getUi().showmodaldialdialog(html,“正在加载”);
}
如果URL是变量,则此函数不起作用(我检查了maplink值及其有效URL)

函数openMap(){
var maplink=SpreadsheetApp.getActiveSheet().getRange(“B2”).getValues();
var js=“window.open('maplink','u blank','width=800,height=600');google.script.host.close();”;
var html=HtmlService.createHtmlOutput(js)
.设置高度(10)
.设置宽度(100);
SpreadsheetApp.getUi().showmodaldialdialog(html,“正在加载”);
}

您可以以下列方式连接字符串:

...
var url = 'https://www.google.com';
var js = "<script>window.open('" + url + "', '_blank', 'width=800, height=600');google.script.host.close();</script>";
...
。。。
var url='1〕https://www.google.com';
var js=“window.open(“+url+”,“\u blank”,“width=800,height=600”);google.script.host.close();
...
基本上

  • 通过关闭引号来关闭硬编码字符串的第一部分
  • 使用
    +
  • 通过在第二部分后面附加
    +
    并再次打开引号,继续硬编码字符串

我希望这是清楚的

太简单了!非常感谢。这是有效的:var js=“window.open”(“+maplink+”),…很高兴为您提供帮助!出于文档目的,如果可以,请接受答案(✓) 这对你很有帮助——它还可以帮助将来遇到同样问题的其他人找到解决方案:)
function openMap() {
  var maplink = SpreadsheetApp.getActiveSheet().getRange("B2").getValues();
  var js = "<script>window.open('maplink', '_blank', 'width=800, height=600');google.script.host.close();</script>";
  var html = HtmlService.createHtmlOutput(js)
    .setHeight(10)
    .setWidth(100);
  SpreadsheetApp.getUi().showModalDialog(html, 'Now loading.'); 
}
...
var url = 'https://www.google.com';
var js = "<script>window.open('" + url + "', '_blank', 'width=800, height=600');google.script.host.close();</script>";
...