【问题标题】:Google Script to open URL in same window as Spreadsheet谷歌脚本在与电子表格相同的窗口中打开 URL
【发布时间】:2015-01-02 12:07:51
【问题描述】:

我正在尝试通过将过滤器视图的 URL 传递到侧边栏中显示的超链接来解决 Google Spreahsheet 过滤器视图缺少 API 的问题。

重要的是:我希望过滤器视图 URL 在与电子表格相同的窗口中打开,从而替换电子表格。那么超链接目标应该是_self

function listFilterViews(){
  var uiInstance = UiApp.createApplication()
      .setTitle('Teacher Views');
  var panel = uiInstance.createVerticalPanel();
  panel.setSpacing(5)
  var scroll = uiInstance.createScrollPanel();
  scroll.setHeight("100%")
  var url = "https://docs.google.com/blablabla"
  var link = uiInstance.createAnchor("click me", url)
  link.setTarget("_self")
  panel.add(link);
  scroll.add(panel)
  uiInstance.add(scroll);
  SpreadsheetApp.getUi().showSidebar(uiInstance);
}

但是,该 URL 并没有像预期的那样在同一个窗口中打开,而是在另一个窗口中打开。我该如何解决这个问题?

【问题讨论】:

  • 来自文档:根据设计,这些超链接总是在新页面中打开。不允许重新加载当前页面的链接。
  • 伤心。但我相信这是值得的答案,@Sergeinsas
  • 我宁愿把它作为评论留下,因为我不确定这“真的”不可能……也许有人找到了解决办法……我不知道 ;-)

标签: hyperlink google-apps-script google-sheets


【解决方案1】:

根据setTarget documentation

“(将目标设置为 _self)仅在应用程序显示为独立服务时才有效。在对话框中调用时无效,例如在 Google 电子表格中。”

Apps 脚本有意阻止脚本切换当前窗口的视图,作为一项安全措施。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-06-15
    • 2012-12-30
    • 2015-08-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多