回答編集履歴

4

修正

2024/10/04 02:11

投稿

YAmaGNZ
YAmaGNZ

スコア10469

test CHANGED
@@ -10,9 +10,25 @@
10
10
  <html>
11
11
  <head>
12
12
  <base target="_top">
13
+ <style>
14
+ html {
15
+ height: 100%;
16
+ }
17
+
18
+ body {
19
+ height: 100%;
20
+ margin: 0;
21
+ }
22
+
23
+ .full {
24
+ width: 100%;
25
+ height: 100%;
26
+ }
27
+ </style>
13
28
  </head>
14
29
  <body>
15
- <iframe src="https://script.google.com/macros/s/本体側ID/exec?mailaddress=<?=mailaddress ?>" frameborder="no" scrolling="no"></iframe>
30
+ <iframe class="full" src="https://script.google.com/macros/s/本体側ID/exec?mailaddress=<?=mailaddress ?>"
31
+ scrolling="no" frameborder="0" ></iframe>
16
32
  </body>
17
33
  </html>
18
34
  ```

3

修正

2024/10/04 01:57

投稿

YAmaGNZ
YAmaGNZ

スコア10469

test CHANGED
@@ -10,21 +10,9 @@
10
10
  <html>
11
11
  <head>
12
12
  <base target="_top">
13
- <script>
14
- window.addEventListener('message', function(e) {
15
- var iframe = $("#parentframe");
16
- var eventName = e.data[0];
17
- var data = e.data[1];
18
- switch(eventName) {
19
- case 'setHeight':
20
- iframe.height(data);
21
- break;
22
- }
23
- }, false);
24
- </script>
25
13
  </head>
26
14
  <body>
27
- <iframe id="parentframe" src="https://script.google.com/macros/s/本体側ID/exec?mailaddress=<?=mailaddress ?>" frameborder="no" scrolling="no"></iframe>
15
+ <iframe src="https://script.google.com/macros/s/本体側ID/exec?mailaddress=<?=mailaddress ?>" frameborder="no" scrolling="no"></iframe>
28
16
  </body>
29
17
  </html>
30
18
  ```

2

修正

2024/10/04 00:55

投稿

YAmaGNZ
YAmaGNZ

スコア10469

test CHANGED
@@ -38,7 +38,7 @@
38
38
  とiframeで本体側を表示する
39
39
 
40
40
  本体側
41
- ```HTML
41
+ ```html
42
42
  <!DOCTYPE html>
43
43
  <html>
44
44
  <head>

1

追記

2024/10/04 00:44

投稿

YAmaGNZ
YAmaGNZ

スコア10469

test CHANGED
@@ -1,3 +1,59 @@
1
1
  分けることによって仕様が満たせればって条件はありますが
2
2
  とりあえず入口は「ウェブアプリケーションにアクセスしているユーザー」と設定して
3
3
  他のSpreadSheetやDriveへアクセス等が必要な場所は「自分」として作成し、入り口側のアプリから自分側のスクリプトを呼び出して実行するなどしてはどうでしょうか?
4
+
5
+ 本体側のURLをブックマークされたくないのであれば下記のようにiframeを利用してはどうですかね?
6
+
7
+ 入口側
8
+ ```html
9
+ <!DOCTYPE html>
10
+ <html>
11
+ <head>
12
+ <base target="_top">
13
+ <script>
14
+ window.addEventListener('message', function(e) {
15
+ var iframe = $("#parentframe");
16
+ var eventName = e.data[0];
17
+ var data = e.data[1];
18
+ switch(eventName) {
19
+ case 'setHeight':
20
+ iframe.height(data);
21
+ break;
22
+ }
23
+ }, false);
24
+ </script>
25
+ </head>
26
+ <body>
27
+ <iframe id="parentframe" src="https://script.google.com/macros/s/本体側ID/exec?mailaddress=<?=mailaddress ?>" frameborder="no" scrolling="no"></iframe>
28
+ </body>
29
+ </html>
30
+ ```
31
+ ```javascript
32
+ function doGet() {
33
+ var html = HtmlService.createTemplateFromFile('index.html');
34
+ html.mailaddress = Session.getActiveUser().getEmail();
35
+ return html.evaluate();
36
+ }
37
+ ```
38
+ とiframeで本体側を表示する
39
+
40
+ 本体側
41
+ ```HTML
42
+ <!DOCTYPE html>
43
+ <html>
44
+ <head>
45
+ <base target="_top">
46
+ </head>
47
+ <body>
48
+ 本体 : 受け取ったメールアドレス=<?=mailaddress ?>
49
+ </body>
50
+ </html>
51
+ ```
52
+ ```javascript
53
+ function doGet(e) {
54
+ var html = HtmlService.createTemplateFromFile('index.html');
55
+ html.mailaddress = e.parameter.mailaddress;
56
+ return html.evaluate().setXFrameOptionsMode(HtmlService.XFrameOptionsMode.ALLOWALL);
57
+ }
58
+ ```
59
+ としてはどうですかね?