我正在尝试在iframe中的FB应用中通过JS进行重定向,并且它正在淘汰iframe。
目前它看起来像这样:
window.location.href = '/bla'
但这已经淘汰了iframe。如何确保重定向,但仅限于iframe?
答案 0 :(得分:8)
你必须自己解决这个问题。从框架内部使用
self.location.href='/foo';
为什么self
而不是window
? window
始终是完整的窗口,self
是javascript中框架或iframe的窗口。
或者从外面
document.getElementById('foo').location.href = '/baz';
框架是这样的
<iframe src="foobar" id="foo" />
答案 1 :(得分:0)
如果在iframe内的网页上执行该javascript,则会在iframe中加载新页面。我怀疑新页面上的一些代码(可能是身份验证代码)正在被执行,这就是突破框架。如果你使用的是一个为你处理auth函数的框架,可能并不明显,但新页面上的某些东西必须执行top.location重定向。