我希望在通过HTMLService显示Web应用程序时在Apps脚本中获取当前浏览器窗口的完整URL。
当我尝试此操作时,它不起作用,因为Apps脚本已被沙箱化,并且我得到了某种形式的另一个服务器URL
window.location.href
尝试此操作时,我只能获取哈希或参数,而不能获取完整的网址
google.script.url.getLocation(function(location) {
console.log(location.parameters);
console.log(location.hash);
});
来源:https://developers.google.com/apps-script/guides/html/reference/url#methods
上述目的:
我希望人们在发布的Web应用程序中单击一个按钮以删除浏览器工具栏。但是,浏览器工具栏在当前浏览器窗口中不可移动。因此,我想获取Web应用程序URL并将其作为当前Web应用程序的新窗口放入window.open()中,因为可以通过这种方式删除浏览器工具栏。但是我似乎无法获取当前网址。
有什么想法可以实现这一目标吗?
谢谢!
答案 0 :(得分:3)
我也不知道您所说的开发人员模式是什么意思,但是我猜测这是问题的答案。如果没有,请告诉我,我将其删除。
在客户端,您可以使用Javascript:
<script>
function getUrl(){
google.script.run
.withSuccessHandler(function(url){
document.getElementById('mydiv').innerHTML='<p>' + url + '</p>';
})
.getScriptUrl()
</script>
<body>
<div id="mydiv"></div>
</body>
在Google脚本中:
function getScriptURL() {
return ScriptApp.getService().getUrl();
}
答案 1 :(得分:0)
我建议为当前脚本URL使用以下代码:
function getScriptURL() {
// dev URI
'https://script.google.com/macros/d/' + ScriptApp.getScriptId() + '/edit';
}