在加载之前打破框架页面

时间:2009-10-12 21:26:15

标签: asp.net javascript iframe redirect

我有一个框架内的aspx页面。我想重定向到一个新的页面,但在该页面加载之前,突破框架。我正在使用这个js代码

window.onload = TimeOutRedirect;
function TimeOutRedirect()
{
    try
    {
    if (self.parent.frames.length != 0)
    self.parent.location=document.location;
    }
    catch (Exception) {}
}

这可以工作,但它会一直等到页面加载,这样你就可以在它爆发之前看到框架中的页面。

我尝试使用另一个页面作为中间人但是在页面加载后我无法重定向。

2 个答案:

答案 0 :(得分:4)

请参阅杰夫在http://www.codinghorror.com/blog/archives/001277.html

的帖子

基本上,你可以试着破坏他们的框架....他们可以尝试破坏你的框架破坏代码。这实际上取决于成帧器的确定程度。

引用:

  

真正可怕的是,我可以说,没有解决方案。由于跨域JavaScript安全限制,框架式网站几乎不可能阻止或干扰父页面的有意和积极阻止框架内容的邪恶JavaScript。

     

如果一个邪恶的网站决定它将构建您的网站,您将被诬陷。期。框架破坏只不过是一种虚假的安全感;它不起作用。

答案 1 :(得分:0)

http://www.thesitewizard.com/archive/framebreak.shtml我找到了一个适合我的解决方案:

function breakOutOfFrames() {
  if (top.location != location) { 
    top.location.href = document.location.href;
  }
}