我在跨域 iframe hack 中遇到了一些麻烦。
我的页面上有一个 iframe“if1”,其中包含另一个 iframe“if2”。
“顶部”页面在域 A 上运行。if1 的页面在域 B 上运行。if2 的页面在域 A 上运行。
我想要做的是:在 if1 中运行身份验证,将结果令牌作为哈希传递给 if2 的 url 并加载 if2。当加载 if1 的页面时,令牌已经通过身份验证,我只是添加了 if2 和已经生成的 url,如下所示:
<iframe name="if2" id="if2" src="http://example.com/testing#token=8927348962028" onload="javascript:alert('loaded');" onerror="javascript:alert('unable to load iframe');" ></iframe>
现在, if2 根本不加载,它只是保持白色。我总是收到“无法加载 iframe”的警报。但这仅在 if1 嵌入“顶部”页面时发生。当我在浏览器的另一个选项卡中简单地加载 if1 的内容时,if2 会完美加载。
是否有一些政策可以阻止加载二级 iframe?还是我错过了什么?