从UiApp脚本在新窗口中打开模板html

时间:2013-02-28 14:47:41

标签: google-apps-script

我有一个UiApp脚本,可以在flextable中显示图像;我已经为图像分配了mousedown处理程序,以便在单击它时我希望它打开一个模板化的HTML页面(在新窗口中)。我写了下面的代码;它被执行但它没有返回任何东西。 如何获取包含从分配的图像加载的图像的项目详细信息页面在新窗口中打开?

这是我的脚本和HTML代码:

  var page = HtmlService.createTemplateFromFile("Item Detail");
  var image = productDetails[i].imageurl;   
  page.imageurl = image;
  Logger.log(productDetails[i].imageurl);
  return page.evaluate();

<img src=<?=imageurl ?> alt="click for more info" height="100%" width="100%">

2 个答案:

答案 0 :(得分:0)

您需要使用<img>标记围绕<a>

<a href="URL_TO_OPEN_IN_NEW_WINDOW" target="_blank"><img ... ></a>

答案 1 :(得分:0)

所以假设你想制作一个可点击的图像。并且您希望在单击它时在新窗口中打开此图像。

var anchor = app.createAnchor("<img src='URL_TO_IMAGE' />",
                          true,
                          ScriptApp.getService().getUrl()+"?detailPage="+SOME_ID)
              .setTarget("_blank");

然后,当您单击该链接时,您的脚本将在另一个窗口中打开。而且,GET参数将与它一起传递。因此,在您的doGet(e)函数中,您可以处理是否显示主UiApp或Html详细信息页面。

function doGet(e) {
  if (e.parameter.detailPage) {
    //show the detail page
  } else {
    //show the normal UiApp
  }
}

阅读this other answer的顶部,以便更好地了解GET参数如何与GAS配合使用。