【发布时间】:2019-05-10 21:39:06
【问题描述】:
我希望在通过 HTMLService 显示 Web 应用程序时在 Apps Scripts 中获取当前浏览器窗口的完整 URL
-
当我尝试这个时,它不起作用,因为 Apps 脚本是沙盒的,我得到了另一个服务器 URL
window.location.href -
当我尝试这个时,我只能获取哈希或参数,而不是完整的 url
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 App URL 并将其作为当前 Web 应用程序的新窗口放入 window.open() 中,因为可以通过这种方式删除浏览器工具栏。但我似乎无法获取当前网址。
有什么想法可以实现这一点吗?
提前致谢!
【问题讨论】:
-
我发现了这个:ScriptApp.getService().getUrl();但是,在开发者模式下是否可以获取此 URL?
-
我能问你
developer mode是什么吗? -
部署 Web 应用程序时,您可以“测试”代码。那就是开发者模式。开发超链接可以无限期地使用最新的更改,而无需重新发布。见图片:developers.google.com/apps-script/images/web_app_url.png
-
代码:
ScriptApp.getService().getUrl();要么获取“exec”url 或“dev”url,具体取决于项目当前正在运行的模式。所以,你能获取“开发”网址?是的,但代码需要从“开发”网址运行。如果代码从“exec”url 运行,则无法从ScriptApp.getService().getUrl();获取开发 URL。 -
@Alex 感谢您的回复。我可以理解
developer mode。我注意到已经发布了几个答案。我认为他们会解决您的问题。