繁体   English   中英

电子表格中的链接未显示在google html服务页面中

[英]links from spreadsheet not displaying in google html service page

在ogle电子表格的Google脚本编辑器上,我试图创建一个从电子表格中检索值并显示的网页。 但是,它不显示电子表格上链接的项目,而是显示静态值而不显示链接。 我究竟做错了什么? 下面是我的代码。

我的.gs工作表中的以下代码

function doGet() {
    return HtmlService
        .createTemplateFromFile('Index')
        .evaluate()
        .setSandboxMode(HtmlService.SandboxMode.IFRAME);
}

function getData() {
    return SpreadsheetApp
        .openById('abcdef')
        .getActiveSheet()
        .getDataRange()
        .getValues();
    getURL();
}

function getURL() {
    var range = SpreadsheetApp.getActiveSheet().getActiveCell();
    var links = SpreadsheetApp.getActiveRange().getFormulas();

    //logs - Google
    var values = range.getValues();

    //logs - =HYPERLINK("http://www.google.com", "Google")
    var formula = range.links;

    //simple regex to get first quoted string
    var url = /"(.*?)"/.exec(formula);

    //logs - http://www.google.com
    return url;
}

我的index.html具有以下代码

<? var data = getData(); ?>
<table>
<? for (var i = 0; i < data.length; i++) { ?> 
    <tr>
    <? for (var j = 0; j < data[i].length; j++) { ?>
        <td>
            <a id="button"  href=#><?= data[i][j] ?>  </a>
        </td>
    <? } ?>
    </tr>
<? } ?>
</table>

在上面的Sandy代码中,我发现大多数URL出于多种原因(非https,相同来源等)被拒绝,因此我查看了文档,并以包含target="_blank"参数并打开所有URL的该版本结束我试过了。

<? var data = getData(); ?>
<table>
<? for (var i = 0; i < data.length; i++) { ?> 
<tr >
<? for (var j = 0; j < data[i].length; j++) { ?>
<td > <a id="button"  href=" <?= data[i][j] ?> " target="_blank"> <?= data[i][j] ?></a></td>
<? } ?>
</tr>
<? } ?>
</table>

另请注意,电子表格中的网址必须采用http://www.google.com形式才能使用,而www.google.com之类的简短形式将不起作用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM