So ermitteln Sie die Fenstergröße von Google Tabellen

8

Gibt es in einem Modal-Dialog, der von einem Google Sheet-Skript aus gestartet wird, eine Möglichkeit, die Größe des Browserfensters oder der Hostanzeige zu bestimmen? Ich möchte in der Lage sein, die Breite eines Dialogs auf einen Prozentsatz der Benutzeranzeige einzustellen, also eine Vielzahl von Maschinen zu unterstützen.

Normale jQuery-Techniken wie $( window ).width() und $( document ).width() geben die Breite des -Dialogs zurück, was nicht das ist, was ich möchte (und einzigartig für diese Umgebung ist).

Wenn Sie versuchen, auf einen der div-Container außerhalb des Dialogs zu verweisen, erhalten Sie null (Ich habe "#docs-editor-container" , "modal-dialog-bg" und einige andere versucht.)

Hier ist ein einfaches Skript, um diesen Dialog mit den bisherigen Ergebnissen neu zu erstellen.

Code.gs

%Vor%

Dialog.html

%Vor%     
Mogsdad 13.08.2014, 18:31
quelle

2 Antworten

0

Sie können versuchen, die Größe der Bildschirmentwicklung ein DIV mit CSS-Stil auf Breite = 100% und Höhe = 0% zu erhalten. Verwenden Sie dann die Datei document.getElementById ("container"). OffsetHeight

Das Problem besteht darin, dass Sie es nur im SandBox EMULATE-Modus (HtmlService.SandboxMode.EMULATED) verwenden können.

Hier ein Beispiel ( Ссылка ):

code.gs

%Vor%

index.html

%Vor%

In diesem Beispiel können Sie die Kommentare löschen (/ * * /) und versuchen, auch die Höhe zu erhalten.

Die spanische und die vollständige Version finden Sie Ссылка

    
Molk's 14.08.2014 04:52
quelle
0

Wenn der Ursprung des Add-On-Iframes der gleiche wäre, könnten wir aus zwei Iframes mit folgenden Elementen springen:

%Vor%

um darauf zuzugreifen, wie in diesem Post erwähnt.

Da dies nicht der Fall ist, wird wahrscheinlich eine Verbesserungsanforderung benötigt, damit Docs die maximale Größe an Add-on-Iframes über Postmessage oder ein anderer Mechanismus, der von einem anderen Ursprung ausgeht. Das Hinzufügen von maxHeight und width zu der vorhandenen Browser -Klasse mag einfacher sein, aber denken Sie, dass nur browserartige Widgets hinzugefügt wurden.

Wenn Sie eine größere als die benötigte Breite festlegen, wird die maximale Breite des Fensters "Docs" erreicht. Die Schaltfläche "Schließen" wird jedoch nicht angezeigt, wenn der Benutzer sie zum Drücken von esc zwingt. Wenn Sie wie eine 90% maximale Höhe / Breite Ansicht von Docs wollen, scheint derzeit nicht möglich.

    
Bryan P 26.09.2015 21:50
quelle