2013-02-28 71 views
0

我有一个UiApp脚本,可以显示柔性图像;我已经为图像分配了mousedown处理程序,因此当它被点击时,我希望它打开一个模板化的HTML页面(在新窗口中)。我写了下面的代码;它会被执行,但它不会返回任何东西。 我应该怎么做才能使包含从imageurl加载的图像的项目详细信息页面分配给在新窗口中打开?在UiApp脚本的新窗口中打开模板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%"> 
+0

如果这是不可能的。有没有办法在新窗口中启动新的UiApp?我正在制作一个显示项目图像列表的uiapp,当图像被点击时,我想打开一个新窗口,该窗口将提供更详细的图像描述。首先,我想通过模板HTML来做到这一点,但如果这是不可能的,那么创建一个新的UiApp会在新窗口中弹出?这可能吗?? – DimSumBum 2013-03-01 14:09:00

回答

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工作更好的主意。

+0

哇,我正在寻找!非常感谢你! – DimSumBum 2013-03-04 14:25:43

0

您将要环绕<img><a>标签。

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

对不起,我想也许我没有让我的问题非常清楚。我想让整个html在新窗口中打开,没有链接可以在新窗口中打开。 – DimSumBum 2013-03-01 14:13:24