0

我在谷歌应用程序脚本中使用 UIApplication 时遇到问题,但仅在 Chrome 18.0.1025.142 m 上,我的应用程序在 Firefox 3.6 和 chrome 16.xx 上运行良好,我将我的 chrome 版本更新为 19.0.1084.56 m。并且问题仍然存在。

在 Chrome 18.0.1025.142 m 和 19.0.1084.56 m 上,我有以下行为:当我尝试显示 UI 应用程序时,我的电子表格上会显示一个空白框,并且要求我对对象执行“另存为”操作用户应用面板。

在 Chrome 16.xx 或 Firefox 3.6 上,我有一个带有面板、文本框和按钮的 UI 应用程序。

这是我的应用程序创建代码:

// Create my application
  var mydoc = SpreadsheetApp.getActiveSpreadsheet(); 
  var myapp = UiApp.createApplication();
  myapp.setTitle("Translation selector");
  // create panels, text boxes and widgets
  var mypanel = myapp.createVerticalPanel();
  // Create input boxes and button
  var textBoxA = myapp.createTextBox();
  textBoxA.setName('Input search filter here').setId('SearchText');
  var MyButton = myapp.createButton("Fill the tables");
  mypanel.add(textBoxA);
  mypanel.add(MyButton);
  // create handler to respond to events
  var clickHandler = myapp.createServerClickHandler("respondToSubmit");
  MyButton.addClickHandler(clickHandler);
  clickHandler.addCallbackElement(mypanel);
  // assemble everything in app
  myapp.add(mypanel);
  //mydoc.show(myapp);
  //return myapp;
  var doc = SpreadsheetApp.getActive();
  // show the app
  doc.show(myapp);

}
4

4 回答 4

1

我在 OSX 的 Chrome 21.0.1180.89 上遇到了类似的问题。使用一个邮件合并脚本,它在几个小时前在 Win8 上的类似最新的 chrome 上完美运行。

我很确定这是一个安全问题。

取消对应用程序的授权(在帐户-> 安全下),然后重新加载脚本并重新授权它会有所帮助。不确定它是在每个浏览器级别上还是其他..

于 2012-09-06T07:25:18.643 回答
1

请添加此代码,

根据您的问题,它适用于 chrome。

function saveTextAsFile()
{
    var textToWrite = document.getElementById('area').value;
    var textFileAsBlob = new Blob([textToWrite], {type:'text/plain'});
    var fileNameToSaveAs = "ecc.plist"/*Your file name*/;

var downloadLink = document.createElement("a");
downloadLink.download = fileNameToSaveAs;
downloadLink.innerHTML = "Download File";
if (window.webkitURL != null)
{
    // Chrome allows the link to be clicked
    // without actually adding it to the DOM.
    downloadLink.href =   
window.webkitURL.createObjectURL(textFileAsBlob);
}
else
{
    // Firefox requires the link to be added to the DOM
    // before it can be clicked.
    downloadLink.href = window.URL.createObjectURL(textFileAsBlob);
    downloadLink.onclick = destroyClickedElement;
    downloadLink.style.display = "none";
    document.body.appendChild(downloadLink);
}

downloadLink.click();
}
于 2015-06-10T08:30:55.713 回答
0

我也有同样的问题 :

经过几次测试后,有关此的更多详细信息。这似乎是由于用户触发脚本执行,以及触发器的特性: - 如果从电子表格中的自定义菜单调用函数,那么每个人都可以正常工作 - 如果调用函数 onOpen(),对每个人来说一切都很好——如果在函数上设置了可安装的 onEdit 或 onOpen 触发器,那么对设置它的人来说一切正常,而对其他人不利。无论该人是否是所有者,都会观察最后的行为。

基本上,它似乎唯一不能正常工作的时候是有人打开或编辑电子表格并且该功能由其他人安装的可安装触发器触发。

这是一种痛苦。

于 2013-08-07T04:59:36.863 回答
0

我开发的脚本FormEmailer(在脚本库中提供)的一些用户也遇到了这个问题。但是我们还不能确定产生这种情况的情况。

你正在测试的电子表格是你的吗?或者它是共享的,而您不是所有者?您在同一个电子表格上还有其他脚本项目吗?您是所有脚本的所有者吗?

(我认为如果你改变你编辑你的问题和我的答案,而不是在“有限”的评论中说话会更好)。

于 2012-06-14T17:30:22.053 回答