0

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

这是我的脚本和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%">
4

2 回答 2

0

您将需要<img><a>标签包围 。

<a href="URL_TO_OPEN_IN_NEW_WINDOW" target="_blank"><img ... ></a>
于 2013-02-28T15:35:54.413 回答
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
  }
}

阅读此其他答案的顶部,以更好地了解 GET 参数如何与 GAS 一起使用。

于 2013-03-02T21:14:37.923 回答