2013-04-20 57 views
1

假设我们有一个窗口和一个带有一些javascript的iframe。 iframe源代码直接在iframe的“srcdoc”属性中定义。完全隔离来自同一个域的iframe中的javascript

是否有可能以某种方式强制浏览器行为像iframe从另一个域加载?

我的意思是我不希望在iframe中的javascript能够通过“window.parent”或类似的东西访问主窗口,因为iframe内容不受信任。但问题是它存储在同一个域中,我甚至想要使用相同的请求来加载主窗口和iframe内容(使用该“srcdoc”属性)。

那么有可能吗?

谢谢!

回答

3

你可以在前面加上字符串:

"<script> parent = top = null; </script>" 

到srcdoc。这应防止srcdoc表单中的其他代码通过window.parentwindow.top访问父级。

我不确定是否有其他方法可以访问iframe的父级。

+0

好主意,非常感谢!至少我也必须关心“window.top”。对不起,我还没有投票。 – 2013-04-20 22:55:43

+0

@AntonGromov不客气,是的'window.top'是一个很好的电话。如果需要,您可以通过点击投票箭头下方的复选标记来接受此答案。 – Paulpro 2013-04-20 23:21:49

相关问题