Ich versuche die Richtlinien zu befolgen, die Google für die Migration zu IFRAME für Google Apps Script-Dialoge angegeben hat. Alle Dialoge, die ich migriere, funktionieren jedoch nicht mehr - nur der Titel wird angezeigt und der folgende Fehler wird an die Konsole ausgegeben: "Uncaught TypeError: Kann Eigenschaft 'call' von undefined nicht lesen". HierGoogle Apps Script IFRAME-Migration in Google Spreadsheet funktioniert nicht
ist der Link zu einem einfachen Beispiel des Problems: https://docs.google.com/spreadsheets/d/1n5Lr6LuMj4Cyag4Z_54jRKvWiwV-b8dquREF5T4pzMY/edit?usp=sharing
Es ist eine leere Tabelle, die ein zusätzlichen „Dialog“ Menü hat, wählen Sie „Dialog anzeigen“ aus dem „Dialog“ Menü, um das Verhalten zu sehen.
function onOpen()
{
SpreadsheetApp.getUi().createMenu("Dialog")
.addItem("Show Dialog","showDialog")
.addToUi();
}
function showDialog()
{
var html = HtmlService.createHtmlOutputFromFile('Index').setSandboxMode(HtmlService.SandboxMode.IFRAME);
SpreadsheetApp.getUi().showModalDialog(html, 'Dialog title');
}
<!DOCTYPE html>
<html>
<head>
<base target="_top">
<script>
function onOK()
{
console.log("ok");
}
function onCancel()
{
console.log("cancel");
}
</script>
</head>
<body>
<div>
<input type="text" id="editme" size="8">
<button type="button" id="ok" style="display: block; position: absolute; top: 150px; width: 60px;" onclick="onOK()">OK</button>
<button type="button" id="cancel" style="display: block; position: absolute; top: 150px; left: 100px; width: 60px;" onclick="onCancel()">Cancel</button>
</div>
</body>
</html>
Ja, ich habe das bestehende Problem in Google-Apps-Skript Probleme vor 6 Monaten protokolliert. Sie haben es als einen Fehler ohne Kommentar markiert. Sie haben 3 Wochen Zeit, den NATIVE-Modus herunterzufahren und haben keinen funktionierenden IFRAME-Modus für diejenigen von uns, die sie in Google Spreadsheet verwenden. Ich habe hier gepostet, um zu sehen, ob irgendjemand ein Problem mit meinem Beispiel nicht erkennen kann, oder das ist wirklich ein völliger Mangel an Sorgfalt von Google-Entwicklern. – Hilo