我现在正在处理iframe问题,但我找不到问题。我的页面中有一个iframe,这个iframe指向另一个页面但在同一个域中。我使用angularJS作为我的框架并使用角度路由器。
我的网页链接如下:https://xxxx:8443/ctx/#/mypage iframe src = / ctx /#/ iframepage
这适用于Chrome和IE边缘。但iframe不会在Firefox中加载任何资源。我检查了元素,发现这个iframe下只有一个空白页面:
但是当我将iframe src更改为google.com时,iframe就可以了。
顺便说一下,我使用自签名证书来测试https服务。此证书不受信任。
我不知道为什么iframe不起作用,任何人都可以帮助我吗?
答案 0 :(得分:0)
#
是URI中的保留字符。
您需要将其编码为%23
。
Chrome和Edge错误,他们应该将您的iframe src视为"/ctx/index.html#%2Fiframepage"
,
其中index.html
是您的服务器作为默认网页名称发送的内容,"%2Fiframepage"
被视为fragment identifier。
所以你的最终src
将是
"/ctx/%23/iframepage"