2017-12-01 10 views
0

私は現在iframeの問題に取り組んでいますが、問題は見つかりません。私は自分のページにiframeがあり、このiframeは別のページを指していますが、同じドメインにあります。私はフレームワークとしてangularJSを使用し、角度ルータを使用します。FireFoxはiframeをブロックして表示されませんが、このiframeは同じドメインアドレスです

マイページリンクは、このようなものです:https://xxxx:8443/ctx/#/mypage IFRAME SRC =/CTX /#/ iframepage

これはChromeとIEのエッジで正常に動作している間。しかし、iframeはFirefoxにリソースをロードしません。要素を調べて、このiframeの下に空白のページしかないことがわかりました:

しかし、iframe srcをgoogle.comのように変更した場合、iframeが機能します。

ところで、私は自己署名証明書を使ってhttpsサービスをテストしました。この証明書は信頼されていません。

iframeが機能しない理由はわかりません。だれでも助けてくれますか?

答えて

0

#は、URIの予約文字です。

%23にエンコードする必要があります。

Chromeとエッジが間違っている、彼らは、"/ctx/index.html#%2Fiframepage"としてindex.htmlは、あなたのサーバがfragment identifierとみなさ"%2Fiframepage"で、デフォルトのページ名として送るものは何でもある をあなたのiframeのsrcを検討すべきです。

src

"/ctx/%23/iframepage" 
+0

ハイテクだろうので、あなたの最終的には、あなたのヒントをいただき、ありがとうございます。残念ながら、それは動作しません。 '#'を%23に変更すると、サーバーはファイルが見つからないというエラーで応答します。この#を%23に変更すると、サーバーはこの要求をファイル要求とみなしますか? – user1242158

+0

@ user1242158私はそれを得ることは確かではありません。あなたのディレクトリパスは* ctx>#> [mypage、iframepage] *ですか?このiframeのsrcをどのように設定しますか?ちなみに、両方のページが同じフォルダにある場合は、単に相対パスを使用できます: '