大家早上好。 我有一个包含 URL 的电子表格。 有人告诉我,如果我使用以下内容,我可以为工作表中的按钮创建一个脚本,而不是保持链接可见:
function redirectToUrl (){
var url = SpreadsheetApp.getActiveSpreadsheet().getRange("A4").get value();
window.location.href = url
}
这会返回一个错误: ReferenceError:窗口未定义 重定向到网址@代码:3
我知道如何找到错误是什么或如何修复它以使按钮启动在单元格 A4 中找到的 URL。
调试显示变量: 当地的 URL:A4中存在的URL(在工作表中选择时会打开新窗口)
没有脚本经验,只是想要一个按钮来启动我的成人 IT 课程的 URL。
您需要添加如下所示的脚本,并通过插入绘图然后将脚本分配给绘图来添加按钮。
我建议您查看 Google Apps 脚本:初学者指南 以基本了解其工作原理。
下面的脚本应该可以工作,要查看它的实际效果,请复制我创建的示例文件:打开 URL 示例并转到“扩展”->“应用程序脚本”。
/**
* @OnlyCurrentDoc
*/
function openUrl() {
var url = SpreadsheetApp.getActive().getActiveSheet().getRange("A4").getValue();
var html = HtmlService.createHtmlOutput(
'<!DOCTYPE html><html><script>'
+'window.close = function(){window.setTimeout(function()
{google.script.host.close()},9)};'
+'var a = document.createElement("a"); a.href="'+url+'";
a.target="_blank";'
+'if(document.createEvent){'
+' var event=document.createEvent("MouseEvents");'
+' if(navigator.userAgent.toLowerCase().indexOf("firefox")>-1).
{window.document.body.append(a)}'
+' event.initEvent("click",true,true); a.dispatchEvent(event);'
+'}else{ a.click() }'
+'close();'
+'</script>'
// Offer URL as clickable link in case above code fails.
+'<body style="word-break:break-word;font-family:sans-serif;">Failed to
open automatically. Click below:<br/><a href="'+url+'" target="_blank"
onclick="window.close()">Click here to proceed</a>.</body>'
+'<script>google.script.host.setHeight(55);google.script.host.setWidth(410)
</script>'
+'</html>')
.setWidth( 90 ).setHeight( 1 );
SpreadsheetApp.getUi().showModalDialog( html, "Opening ..." );
}
是否可以调整功能以在新窗口而不是新选项卡中打开网址?
这是一个灵活的功能;只是不确定如何进行微小的调整!
提前致谢!