google-apps-script - 更改语言后自动刷新 onOpen()。由 html-sidebar 和 Library 复杂化
问题描述
我的 (Google Apps Script) addon-meny 将其菜单分为两部分:一部分 (addSharedMenu) 在共享库中,一部分是特定于环境的功能;文档,表格,幻灯片..
语言是一个用户属性,它通过共享菜单功能进行更新。它会打开一个更新语言属性的侧边栏。有用。
语言更新后,我想用新语言刷新菜单。我无法让我的库函数访问/刷新 onOpen。我能做的最好的事情是添加一个额外的替代品来提神。
// opAddonShared is name of Library
function onOpen(e) { // Runs in a Spreadsheet (docs, slide .. have different unique functions)
var ui = SpreadsheetApp.getUi();
var menu = ui.createAddonMenu();
let lang = opAddonShared.getLanguage()
menu.addItem(menuPasswordColumn_(lang), 'makePasswordColumn')
menu.addItem(menuClearEmptyCells_(lang), 'removeEmpty')
opAddonShared.addSharedMenu(ui, menu).addToUi()
}
function addSharedMenu (ui, menu) { // Runs in Library: opAddonShared
let lang = getLanguage()
menu.addSeparator();
menu.addItem(menuReload_(lang), 'onOpen');
menu.addItem(menuLanguage_(lang), 'opAddonShared.languageDialog');
return menu
}
解决方案
我认为您最好的选择是在选择自定义菜单后通过警报告诉用户刷新浏览器选项卡。因为对跨域帧的访问被阻止了。
推荐阅读
- git - 如何使用 react-native-git-upgrade 从 react-native 获取最新代码?
- xaml - Xamarin 表单名称错误 CS0103
- javascript - 如何将 HTML 代码小部件转换为 Javascript 格式
- java - 如何获取高度和宽度滑块的值来调整由矩形(javaFx 和 sceneBuilder)组成的网格的大小?
- css - 需要 react.js 轮播的解决方案
- excel - 如何编写公式以在excel中获得此结果
- mysql - Mysql - 在没有 groupby 子句的情况下计算它的工作原理
- search - GraphQL 基于游标的分页转换为分页或偏移分页
- html - 激活另一个类的悬停CSS?
- arrays - 与不同 ID 关联的查找和求和值