Javascript onOpen不执行吗?
嗨,伙计们,每次打开侧边栏时,我都会在我的谷歌工作表上显示侧边栏。我正在使用onOpen函数并调用html页面,但它没有执行。当我手动运行该函数时,它可以工作,但是当打开google工作表时,它不会自行执行。 这是我的密码:Javascript onOpen不执行吗?,javascript,html,google-apps-script,google-sheets,Javascript,Html,Google Apps Script,Google Sheets,嗨,伙计们,每次打开侧边栏时,我都会在我的谷歌工作表上显示侧边栏。我正在使用onOpen函数并调用html页面,但它没有执行。当我手动运行该函数时,它可以工作,但是当打开google工作表时,它不会自行执行。 这是我的密码: .gs code: function onOpen(){ var html = HtmlService.createHtmlOutputFromFile('tipA') .setWidth(300); SpreadsheetApp
.gs code:
function onOpen(){
var html = HtmlService.createHtmlOutputFromFile('tipA')
.setWidth(300);
SpreadsheetApp.getUi() // Or DocumentApp or FormApp.
.showSidebar(html);
}
.html code:
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<div>
<p> Some text <p>
<p><img src="some link" alt="xyz" width=240 height=210></p>
</div>
</body>
</html>
.gs代码:
函数onOpen(){
var html=HtmlService.createHtmlOutputFromFile('tipA')
.设置宽度(300);
SpreadsheetApp.getUi()//或DocumentApp或FormApp。
.showSidebar(html);
}
.html代码:
一些文本
可能用户没有编辑SS的权限?仅当访问您的工作表的用户具有编辑SS的权限时,才会触发onOpen()。查看此操作是否有效
function showSideBar() {
SpreadsheetApp.getUi()
.showSidebar(HtmlService.createTemplateFromFile('tipA')
.evaluate()
.setTitle('Some title'));
}
并在此函数上使用可安装的onOpen触发器。
正如前面的海报已经提到的,我也不相信你可以在简单的onOpen触发器(不需要授权)上显示边栏(需要授权)。简单的触发器打开函数无法打开边栏,因为它在AuthMode.LIMITED上运行。您应该使用在Auth.Mode.FULL上运行的函数来打开边栏,如可安装的触发器 我知道这与附加组件无关,但以下引用适用 从 注意:在AuthMode.LIMITED中执行时,加载项无法打开侧栏或对话框。您可以使用菜单项打开侧栏和对话框,因为它们在AuthMode.FULL中运行 cannonical引用是
在这个主题上有一个被引用的问题:当你说“手动运行函数”时,你的意思是使用浏览器调试器来运行它(比如chrome调试器?)?你能为你想要实现的目标提供更多的上下文吗?@TranTriet通过“手动运行”我的意思是,当我进入工具>脚本编辑器时,我能够选择一个特定的函数并在那里运行它来测试它。我想要实现的是,当最终用户打开我的电子表格时,我想要一个侧边栏显示一些文本。如果我从脚本编辑器手动运行此功能,它就会工作。但是,当我刷新电子表格页面时,侧边栏没有显示。请尝试重命名该函数(请参见更新的答案)并使用可安装的onopen触发器。可安装的onopen触发器能否自动运行?如果我设置它,所有用户都会看到吗?你的浏览器没有禁用JavaScript?