如何在代码中找到 "operation's" 位置? 'This operation is not supported from a callback function.'?
How do I find the "operation's" location within the code? 'This operation is not supported from a callback function.'?
我正在为文档创建一个 Google 插件。所以我正在使用 html、scriptlet 和 java。一切都运行很好,但突然出现这个错误,我不知道如何解决。
当我运行 html时,错误就出现了,如图table。在开发人员工具中,显示以下错误:
1. Google Apps 脚本:回调函数不支持此操作。
2. 给定范围不属于当前选择的文档。
3. G.Y0
如何根据这些信息找到错误的位置?
每个请求的附加信息......
抱歉,我正在使用 java脚本。
我的 html 文件只有两个服务器端函数调用。第一个是通过 scriptlet,它在加载 html 之前加载。此调用函数 returns 用于为 table.
创建具有动态 html 侧边栏的数组
<? var rubric = getRubric(); ?>
第二个是一个按钮,在边栏中。该按钮存储位于侧边栏中的单选按钮 ID,然后将它们发送到服务器端功能。我在上面放了一个 withFailureHandler。
<td class="tableCalcButton"><input type="button" class="button" value="Fill Rubric" onclick= "fillRubricA()" /></td>
<script>
function fillRubricA(){
var selection = [];
var matrix = document.getElementsByName('rbRubric').length; // this = 20 a 4x5 matrix.
selection[0] = [ [document.getElementById('rbRubric11').value], [ matrix / (document.getElementById('rbRubric11').value - 1) + 1 ] ];
for ( var r = 1; r < selection[0][0]; r++) {
for ( var c = 1; c < selection[0][1] ; c++) {
if (document.getElementById( 'rbRubric' + r + c).checked == true) { selection[r] = [c];}
}
}
google.script.run.withFailureHandler(onFailure)
.fillRubric(selection);
console.log('[0][0] ' +selection[0][0]);
}
function onFailure(error){ alert(error.message + ' Server is not found. Try your selection again.'); }
</script>
服务器端函数如下所示...
function getRubric() {
// there is code here that I know works fine. Then I make a function call.
// Locate Rubric Table
var rubricTable = findRubricTable();
if (rubricTable == null ){
var alert = ui.alert('Server not found. Try your selection again.');
return;
}
// there is more code that works.
// loadRubric is the array I send back to scriptlet that called it.
return loadRubric;
}
此服务器函数是从 getRubric() 中调用的。
function findGradeTable(){
//the code here does not call another function and works fine.
//It finds the correct table id number and returns it.
return rubricTable;
}
最后,单选按钮调用这个函数,没有调用其他函数,对文档进行最终的格式更改。
function fillRubric(selection){
//This javascript works fine.
}
在收到错误后立即在脚本编辑器中查看 "View" 下的 "Execution Transcript"。
它应该显示发生异常的文件和行号。
我正在为文档创建一个 Google 插件。所以我正在使用 html、scriptlet 和 java。一切都运行很好,但突然出现这个错误,我不知道如何解决。
当我运行 html时,错误就出现了,如图table。在开发人员工具中,显示以下错误: 1. Google Apps 脚本:回调函数不支持此操作。 2. 给定范围不属于当前选择的文档。 3. G.Y0
如何根据这些信息找到错误的位置?
每个请求的附加信息......
抱歉,我正在使用 java脚本。
我的 html 文件只有两个服务器端函数调用。第一个是通过 scriptlet,它在加载 html 之前加载。此调用函数 returns 用于为 table.
创建具有动态 html 侧边栏的数组<? var rubric = getRubric(); ?>
第二个是一个按钮,在边栏中。该按钮存储位于侧边栏中的单选按钮 ID,然后将它们发送到服务器端功能。我在上面放了一个 withFailureHandler。
<td class="tableCalcButton"><input type="button" class="button" value="Fill Rubric" onclick= "fillRubricA()" /></td>
<script>
function fillRubricA(){
var selection = [];
var matrix = document.getElementsByName('rbRubric').length; // this = 20 a 4x5 matrix.
selection[0] = [ [document.getElementById('rbRubric11').value], [ matrix / (document.getElementById('rbRubric11').value - 1) + 1 ] ];
for ( var r = 1; r < selection[0][0]; r++) {
for ( var c = 1; c < selection[0][1] ; c++) {
if (document.getElementById( 'rbRubric' + r + c).checked == true) { selection[r] = [c];}
}
}
google.script.run.withFailureHandler(onFailure)
.fillRubric(selection);
console.log('[0][0] ' +selection[0][0]);
}
function onFailure(error){ alert(error.message + ' Server is not found. Try your selection again.'); }
</script>
服务器端函数如下所示...
function getRubric() {
// there is code here that I know works fine. Then I make a function call.
// Locate Rubric Table
var rubricTable = findRubricTable();
if (rubricTable == null ){
var alert = ui.alert('Server not found. Try your selection again.');
return;
}
// there is more code that works.
// loadRubric is the array I send back to scriptlet that called it.
return loadRubric;
}
此服务器函数是从 getRubric() 中调用的。
function findGradeTable(){
//the code here does not call another function and works fine.
//It finds the correct table id number and returns it.
return rubricTable;
}
最后,单选按钮调用这个函数,没有调用其他函数,对文档进行最终的格式更改。
function fillRubric(selection){
//This javascript works fine.
}
在收到错误后立即在脚本编辑器中查看 "View" 下的 "Execution Transcript"。
它应该显示发生异常的文件和行号。