回答編集履歴

5

回答により解決したので削除

2019/02/04 09:14

投稿

yotuya
yotuya

スコア17

test CHANGED
@@ -1,7 +1 @@
1
- ・質問に対して回答があり参考にして様々な方法で試しましたが解決できませんでした。しかし問題が発生しないようにページの構成を変えて自己回避しました。この質問に対しては解決ではなく自己回避です。ただ前出の親ページからiframeにリンクしたページが表示されない問題は回答を得て解決しています。
2
-
3
-
4
-
5
-  上記で自己解決(回避)とましがその目の回見直して無事解決することがました。
1
+ 投稿した後回答無事解決したの削除しました。
6
-
7
- 回答いただいた方には申し訳ないことをしてしまいました。早とちりな私をお許しください。

4

回答により解決できたのでさくじょします

2019/02/04 09:14

投稿

yotuya
yotuya

スコア17

test CHANGED
File without changes

3

修正

2019/02/04 09:11

投稿

yotuya
yotuya

スコア17

test CHANGED
@@ -2,6 +2,6 @@
2
2
 
3
3
 
4
4
 
5
-  上記で自己解決(回避)しましたがその後2回目の回答見直して無事解決することができました。
5
+  上記で自己解決(回避)しましたがその後2回目の回答見直して無事解決することができました。
6
6
 
7
7
  回答いただいた方には申し訳ないことをしてしまいました。早とちりな私をお許しください。

2

修正

2019/02/01 11:32

投稿

yotuya
yotuya

スコア17

test CHANGED
File without changes

1

自己回避した後に回答で解決できたので修正します。

2019/02/01 11:31

投稿

yotuya
yotuya

スコア17

test CHANGED
@@ -1,33 +1,7 @@
1
1
  ・質問に対して回答があり参考にして様々な方法で試しましたが解決できませんでした。しかし問題が発生しないようにページの構成を変えて自己回避しました。この質問に対しては解決ではなく自己回避です。ただ前出の親ページからiframeにリンクしたページが表示されない問題は回答を得て解決しています。
2
2
 
3
- ・この質問の閲覧者が大勢いるのは同じような問題を抱えている人が大勢いるということだと思います。だから参考のために今回の顛末記を詳しく説明します。
4
3
 
5
- ・私は自分が使用するページをローカルで作成し使っていました。最近ある目的でgoogleのWebアプリケーションの何たるかもわからづにGASに移植しました。それではまってしまいました。移植前はローカルで問題なく動いていたもので、GAS特有の部分をGASに合わせ修正したものです。
6
4
 
7
- ず全体構成でが、最初に起動すindexにはタイトルBGMコントローラあり、メニューとコンテンツを表示するiframeがありす。iframeのメニューを選択するとそれに対応したメニューとコンテンツに切替りますiframeにメニューを置くのは変則ですがある理由があるためです。
5
+  上記で自己解決(回避)ししたがそ後2回目の回答見直して無事解決するとができました。
8
6
 
9
- ・今の問題はiframeに表示されページからリンクしページがiframe表示されないという問題です長くりますが分かりやす説明します
10
-
11
- ・iframeに表示されたページにはメニューとコンテンツを表示しています。(最初は表示されます)
12
-
13
- このメニューを選択すると同じメニューとメニューに対応したコンテンツを表示する仕組みです。
14
-
15
- 実際にはメニューを選択すると前のページが消えエラー表示もなく真白になります。
16
-
17
- いろいろテストしているとコードに不備があると、何種類かのエラーメッセージがiframeに表示されます。
18
-
19
- ・しかしエラー表示がないのでデベロッパーで調べたら、iframeにあたる部分にcssやscriptやhtmlのソースがありません。これでは表示しても真白のなります。この時のリンク方法はiframeからlocation.href = url;です。それではと思いwindow.frameElement.src = url;で親のiframeのsrcを書換えました。最初に表示されたときと同じ方法です。しかし全く同じ状況でした。そこでいろいろ試して分かった事があります。
20
-
21
- ・それはWebサイトには子ページから親ページを制御するサンプルが多くあります。要素の制御とか関数の実行などのサンプルを実行すると間違いなく動作します。しかしそのコードをGASで実行してもscriptエラーになります。コードは実際に動くコードなので間違いはなくGASが制限をかけていると解釈しました。
22
-
23
- しかし制限がなくても前項と同じく表示できないはずです。
24
-
25
- ・以上の結果を踏まえるとGASはiframeのsrcの書換が、親が直接書換えたのかiframeからの制御で書換たのか判断して制限していると解釈しました。セキュリティーのためかもしれません。そのためにiframeにページをリンクするときのdoGet関数に、setXFrameOptionsModeの指定が必要なのではないでしょうか。
26
-
27
- ・それで解決いや回避方法は簡単です。iframeに置いたメニューを親ページに戻しただけです。ただそれによってある機能が使えなくなり、コンテンツ内の参照リンクもできなくなりました。でも動くが先決です。
28
-
29
- とにかく動くようになったので親戚に公開することを考え、パスワードの確認ページを作成しました。これがまた問題を生じました。
30
-
31
- ・パスワードを確認しindex(最初のページ)にリンクすると、iframeに最初のコンテンツが表示されなくなりました。これは今までの状況からはまるのを止めました。解決方法はパスワードの確認ページを作成せずに、indexに直接パスワード確認画面を追加することです。つまりindexに今までのメニューとコンテンツを表示する画面と、パスワードを確認する画面を用意して、表示と非表示指定で切替えることです。無事解決しました。これについても私なりのうがった解釈があるのですが素人です。外れていたらばつが悪いので説明はしません。
32
-
33
- ・当たり前といえば当たり前の方法ですが、今でもiframe内のメニューからリンクしたい気持ちはあります。これがGASの仕様だとしたら諦めるしかありませんが。これが仕様ではなく解決方法が分かった方は一報願います。時々見ています。
7
+ 答いだいは申し訳ないをしてしまました早とちり私をお許しださい