[英]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.