我正在努力将Google表单作为iFrame合并到我的Google电子表格上的模态对话框中(它已经可以通过客户菜单访问),其中iFrame代码会根据电子表格中的内容动态更改。< / p>
我引用HTML文件的Google脚本是:
//Help Guide
function openHelp() {
var html = HtmlService.createHtmlOutputFromFile('Help Guide').setHeight(560).setWidth(814.81).setSandboxMode(HtmlService.SandboxMode.IFRAME);
SpreadsheetApp.getUi().showModalDialog(html, ' ');
}
当我将生成的iFrame代码粘贴到HTML文件“帮助指南”中时,会根据需要加载。但是,当我从菜单中运行openHelp()函数时,我想改为引用我在Sheet1!C1上的iFrame代码。这样我就可以根据电子表格动态更改iFrame。我已经探索过使用Google的HTML模板服务,但一直未能弄明白。
我确信脚本非常简单,但我不熟悉HTML文件中需要编写哪些代码来从Sheet1中提取生成的iFrame代码!C1。
谢谢!
答案 0 :(得分:0)
守则:
function getIframeCode()
{
var iframeSheet='Sheet1';
var iframeCell='A1';
var ss=SpreadsheetApp.getActive();
var sh=ss.getSheetByName(iframeSheet);
var hl=sh.getRange(iframeCell).getValue();
return hl;
}
function showIframeDialog()
{
var ui=HtmlService.createHtmlOutputFromFile('iframecode');
SpreadsheetApp.getUi().showModelessDialog(ui, 'Dynamic Iframe')
}
function doGet()
{
var ui=HtmlService.createHtmlOutputFromFile('iframecode');
return ui.setXFrameOptionsMode(HtmlService.XFrameOptionsMode.ALLOWALL);
}
iframecode.html文件:
<!DOCTYPE html>
<html>
<head>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script>
$(function() {
google.script.run
.withSuccessHandler(updateIframeCode)
.getIframeCode();
});
function updateIframeCode(hl)
{
document.getElementById("iframe").innerHTML=hl;
}
console.log("My code");
</script>
</head>
<body>
<div id="iframe"></div>
</body>
</html>